SQL:データの言語
6分33秒 | DBSQLFE
基本情報技術者試験の頻出テーマを解説した動画コンテンツです。
トランスクリプト(字幕テキスト)
さあ始まりました。今回はですね、データの世界ではもう絶対に欠かせないスキル、 データの言語とも呼ばれるSQLについて皆さんと一緒に見ていきたいと思います。このスキルがあると、もうね、情報の海で溺れることはなくなりますよ。 さて、いきなりですけど、ちょっと想像してみてください。あなたの会社にものすごい量の全社員の情報が詰まった、ぶ厚い名簿があるとします。 この中から特定の部署にいて、しかも特定のスキルを持ってる人をさがしてって言われたらどうします?1枚1枚目で追っていく?いやいや、そんなのやってられないですよね。 ここで、SQLに対する考え方をガラッと変えてみましょう。 SQLって聞くと、なんか難しそうな「THE プログラミング」って感じがするかもしれません。でも全然そんなことないんですよ。 むしろ、図書館の司書さんに「こういう本をさがしてるんですけど」ってお願いする、あの感覚にすごく近いんです。 そう、ポイントは、検索するんじゃなくて、データベースに質問するってことなんです。 じゃあ早速具体的な例を見ていきましょうか。ここにサンプルになるデータベースがあります。うわーこれすごい量ですね。 ここから手作業で何かを探すってなったら、うーん、考えただけでちょっと気が遠くなりますよね。 これがその社員名簿です。例えば上司から急に「ねえ、うちの営業部に所属している20代のメンバー全員リストアップしてくれない」なんて言われたとします。 このリストを前にしてどうします?いやー、考えただけでも大変そうじゃないですか。 さあここからが本題です。この大変な作業をSQLがどうやって解決してくれるのか、その魔法の言葉の構造を見ていきましょう。 実はこれ、びっくりするくらい私たちが普段誰かにお願いする時の文章とそっくりなんですよ。 「何を」「どこから」「どんな条件で」っていう、すごく直感的な作りになってるんです。 まず最初に登場するのがセレクトです。これは要するに「何が見たいの?」ってことですね。データベースに対して、 「おっけー。色々あるのは分かってるけど、今回私が見たいのはこれとこれだけ」って具体的に教えてあげるパートです。例えば今回は名前のリストだけでいいよ、みたいな感じですね。 そして次がフロム。これは「で、その情報ってどこにあるの?」って質問に答える部分です。 今回はさっきのあの、ごちゃっとしていた社員名簿からデータをとってきてね、と指定してあげるわけです。 でも、これだけだと結局リストが全部出てきちゃいますよね。もっとピンポイントで欲しいんです。 そこで登場するのが、三つ目のキーワード。これこそがSQLの心臓部といってもいい、一番パワフルな部分なんですよ。 それがこの、ウェアです。これがいわば魔法のフィルターなんです。これさえあれば、 「部署が営業の人だけ」とか「年齢が30歳未満の人に絞って」みたいな、めちゃくちゃ細かい条件を設定できるんです。 だから、あの膨大なデータの中から本当に欲しい情報だけをすっと抜き出せるようになるわけですね。 さあ、この三つを合体させてみましょう。すると、ほら、こんなに自然なリクエスト文になるんです。 「社員名簿から、名前をください。あ、でも条件があって、部署が営業で30歳未満の人だけね」。 どうです?プログラミングって言うより、普通に誰かにお願いしてるみたいで、すごく分かりやすいですよね。 はい、これで基本はバッチリですね。でも実際の現場ではデータはもっと厄介なことが多いんです。 もし見たい情報があっちのリストとこっちのリストに、こう、バラバラに保管されてたらどうします?これ、実はめちゃくちゃあるあるな悩みなんですよ。 ここで、ちょっと私たちの社員リストをよく見てください。気づきましたか? 部署名が「営業部」みたいに書いてあるんじゃなくて、「部署ID」っていう数字だけが入ってますよね。 実際の部署名は、また別の「部署名簿」ってリストで管理されてるんです。そして、ここが一番大事なポイント。 この二つのリストには、両方ともに「部署ID」っていう共通の項目があるんです。これが鍵になります。 この共通のID、これをですね、二枚の紙を貼り合わせる時の「のりしろ」だと思ってください。この共通の「のりしろ」があるからこそ、 私たちはこのバラバラだった二つの情報をピタッと綺麗に一つにくっつけることができるんです。そして、このバラバラの情報を一つにつなぎ合わせるための魔法の言葉、 それが、ジョインです。これを見てもらうと一目瞭然ですよね。やってることはすごくシンプル。 共通のIDっていう目印を使って、二つのテーブルを文字通りガチャン!と合体させて、一つの見やすい表にしてるだけなんです。 ここでちょっとプロっぽい便利な小技を一つ。もし、このテーブルに入ってるデータ、 もう列とか選ばずに全部見たい!ってとき、ありますよね。そんなとき、列の名前をいちいち全部書くの、正直面倒くさいじゃないですか。 そんなときはこの「アスタリスク」、通称「*」を使ってみてください。これ一個で 「全部持ってきて!」って意味になる超便利な記号です。さて、ここまで聞いて、 「なるほど。でも私エンジニアじゃないしな」って思った方いるかもしれません。でもちょっと待ってください。 なんでこのスキルがエンジニアじゃなくても重要なのか。答えはすごくシンプルです。今のビジネスってもうどんな職種でもデータと無関係ではいられないからなんです。 マーケターの方も、営業の方も、企画を考える方も、データを自分で読み解く力っていうのがこれからの時代の強力な武器になるんですよ。 じゃあ、今日のポイント、さくっと振り返ってみましょうか。まず、データに質問するための基本の三点セット、セレクト、フロム、ウェア。 これが土台です。そしてバラバラになった情報を一つにまとめる魔法のジョイン。 これ本当に一度身につけちゃえば、データ分析とかレポート作りとかで、もう一生使えるスキルですからね。 誰かに頼らなくても、自分でデータの中から答えを見つけ出せるようになる。これってすごいことだと思いませんか? SQLの本当の力って、ただ答えを見つけるテクニックっていうだけじゃないんです。本当に大事なのは、データに対してどんな問いを立てれば、 価値のある答えが返ってくるかを考える、その思考のプロセスそのものなんです。さあ、この新しい言葉を手に入れた皆さん、これからどんな謎を解き明かしてみたいですか?
このコンテンツは Web society で視聴・学習できます。