← メディア一覧

SQLのJOINは両思いと片思い

4分11秒 | DBSQL

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

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

今回の深掘りのテーマは、データベースの必須スキルである SQLJOIN についてです。 はい、データの結合ですね。 普段からデータを扱っているお聞きのアナタなら、顧客データと購買データみたいな別々のテーブルを結合する作業って、おなじみですよね。 日常茶飯事だと思います。 ただ今回のソースはですね、この JOIN の挙動を、なんと、マッチングアプリに例えて解説しているという、非常にユニークなものなんです。 システムの無味乾燥な処理をマッチングアプリに例えるのは秀逸なアプローチですよね。 本当ですよね。 今日のミッションは、この斬新な視点を使って難解なデータ整理の仕組みを直感的に理解していくことです。 こういうデータ専用のマッチングアプリというフィルターを通すだけで、単なるデータが急に人間味のあるストーリーに変わってきますからね。 確かに、顧客リストと購入履歴みたいなバラバラな表を一緒に見たい時、裏でどう動いているのかイメージしやすくなりそうです。 ええ。 早速なんですけど、標準的な機能の INNER JOIN、これはどう表現されているんですか? これはズバリ、両思いですね。 両思い。 はい、両思いです。 顧客リストにも存在して、かつ購買履歴にも存在する、お互いのテーブルに共通の ID がある、条件がぴったり一致した無駄のないペアだけを抽出するんです。 お互いの条件が合致して初めて成立するから、まさに両思いのデータだけが綺麗に並ぶと。 その通りです。 あ、でも、まだ何も買っていないお客さんも見たい時はどうするんですか? と言うと? その INNER JOIN だと両思い以外は弾かれるから、まだ購入していない貴重な見込み客のデータってこれ全部消えちゃいますよね。 なんかそれだと不安というか。 素晴らしい視点です。 まさにそこがデータ抽出の分かれ道になります。 分かれ道。 ビジネスの課題を解決するために、マッチしなかったデータも拾い上げたい時に登場するのが LEFT JOIN です。 記事ではこれを片思いという言葉で強調しています。 片思い、ああ、なるほど。 左側のテーブル、つまり今回の例で言えば顧客リストにいる人は、相手がいなくても全員残すという機能です。 相手がいなくても全員残すんですね。 はい。 購入履歴がない部分は空っぽ、つまり NULL として表示されますが、左側の人たちは片思いのまましっかりリストに残ります。 なるほど、そういうことなんですね。 確実なペアだけを見たいなら INNER JOIN で両思いを抽出し、片方の全員を残したいなら LEFT JOIN で片思いを残すと。 目的に応じた見事な使い分けです。 なんだかスッキリしました。目的によって全然変わってくるんですね。 実務でも、この片思いをあぶり出すアプローチってすごく強力なんですよ。 具体的にはどういうことですか? 例えばカートに商品は入れたけれど購入しなかったカゴ落ちユーザーとか、休眠ユーザーってアクションを起こしていない人たちですよね。 はい。 そういう人たちをこの片思いの構造で意図的に炙り出しているんです。 データ同士をくっつける作業が単なる整理整頓じゃなくて、どの層の課題を解決するかという戦略そのものになるわけですね。 そうなんです。 お聞きのアナタも、エンジニアがどうしてその JOIN を選んだのか、背景にある意図が見えてきそうですよね。 日常業務への応用のヒントになりそうです。 情報の結びつきのデザインはあらゆる分析の要ですからね。 では最後に、お聞きのアナタに少し挑発的な問いを投げかけたいと思います。 何でしょう? 今回はデータを結びつけるお話でしたが、もしデータ同士をくっつけるだけでなく、絶対に一致しない条件、つまり相性が最悪なデータ同士をあえて探し出す機能があったとしたらどうでしょう? 相性が最悪なデータ。 あなたは、このアプローチをご自身のビジネスや組織の人間関係の分析にどう応用しますか? あえて最悪を知るアプローチですね。 離脱の決定的な要因を特定したり、チーム内の致命的なミスマッチを未然に防ぐヒントが隠されていそうです。 そうですね。 ぜひあなたも、この最悪のマッチングがもたらす可能性について、日常の業務に当てはめて探求してみてください。

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