← メディア一覧

ANDとLIKEで絞るSQL抽出術

4分46秒 | DBSQLFE

基本情報技術者試験の頻出テーマを解説した音声コンテンツです。

トランスクリプト(字幕テキスト)

さて、今回はですね、提供していただいた『聞く基本情報』という資料を元に、SQLの基本を掘り下げていきたいと思います。 今回のミッションは、もしあなたがECサイトの分析担当者だったら、という設定です。 大量の注文データの中から、先月東京都在住で3回以上購入した優良顧客をどうやって見つけ出すか? そのための魔法の言葉がSQLというわけですね。 この資料、先輩と後輩の対話形式になってて、すごく分かりやすいんですよね。 ええ、そうですね。非常に実践的で良い資料だと思われます。そしてその課題を解決する鍵がまさにSQLの構造にあるんです。 あの、この構造の美しい所って人間の思考プロセスをそのまま真似してるところなんですよね。まず何が欲しいか、次にどこから、そしてどんな条件で。 この何というか宣言的なアプローチのおかげで、エンジニアはどうやってデータを取ってくるかの細かい手順を考えなくていい、ただ何が欲しいかを言えばいいんです。 これがSQLがこれだけ長く第一線で活躍してる理由の一つなんですよね。なるほど。エクセルのすごい版っていうイメージはすごくよく分かりました。 じゃあ具体的にその魔法はどうやってかけるんでしょう?資料にあるこの1行、これが最初の呪文みたいな感じですかね? セレクト名前、フロム社員テーブル、ウェア部署イコール営業部。これ本当に英語の文章に近くて直感的なんですけど、 逆にちょっと曖昧な聞き方、例えば営業部っぽい人みたいな探し方ってできるものなんですか?ああ、それは非常に良い質問ですね。 そこがSQLの面白いところであり、まあ厳密なところでもありますね。っぽいっていう曖昧さは残念ながら許容されないんですが、 その代わりに部分的に一致するっていうもっと明確な指示なら可能です。ええと、例えば開発っていう言葉を含む部署を探したいなら、 ウェア部署ライク、パーセント、開発、パーセントみたいに書くんですね。このライクっていうのを使うと検索の幅がぐっと広がりますよ。 まあまずは何が欲しいか、セレクト、どこから、フロム。この基本を押さえるのが重要ですけどね。なるほど、セレクトとフロムでどのテーブルのどの列かっていう場所と対象を指定するのはわかります。 でもそれだけだと結局そのテーブルの全データが出てきちゃうってことですよね。ああ、だからこのウェアが必要になるのか。 ここで初めて、ただデータを眺めるんじゃなくて、分析っていう行為に変わるわけですね。資料でSQLの心臓部って表現されてるのも、うーん、頷けます。 ええ、まさにその通りです。そしてその心臓部をさらに強力にするのが、アンド、つまりかつ、とか、オア、またはなんですね。 冒頭の課題にあったみたいに、東京都在住で、かつ購入回数が3回以上みたいに、複数の条件を組み合わせる、これで身もピンポイントで欲しい情報を射抜けるようになります。 もちろんSQLはデータを見つけるセレクトだけじゃなくて、新しく追加、インサートしたり、内容を書き換え、アップデートたりもできます。 でもまずはこの見つける技術がもう全ての基本になりますね。複数の条件を組み合わせられるのは本当に強力ですね。何かこう注意する点ってありますか? ああ、ありますね。初心者の人がよくやる間違いは、条件を括弧で括るのを忘れて意図しない結果を招いちゃうことですね。 いや、実は私も昔、アンドとオアの条件を間違えて、数万人に送るはずのメールをあの全社員に送りそうになったことがあって。 うわあ、本当に冷や汗ものでした。なので、条件の組み合わせは慎重に組み立てる必要がありますね。 それは冷や汗ものですね。なるほど。では今回のまとめです。データベースは情報の広大な海で、 SQLはその海から特定の宝だけを引き上げるための非常に精密な思考のブループリントであると。特にセレクト分とウェア句をアンドとかライクで精密に組み立てていくことがその第一歩だっていうことがよくわかりました。 ええ、今回の資料はデータの抽出、つまり優良顧客を見つける方法に焦点を当てていました。では、最後に一つ思考を深めてみましょうか。 あなたがその優良顧客リストを手に入れたとします。次に彼らに特別なキャンペーンの案内を送るために、 顧客情報にプレミアム会員という印を付け加える必要が出てきたとします。その場合、今度はどのような言葉が必要になると思いますか?

このコンテンツは Web society で視聴・学習できます。