会員登録すると
学習することができます。
会員登録する(無料)
登録済みの方はこちら
ログイン

結合を使いこなす ― JOINとNULLの罠

目安学習時間 18分

課題

全問正解でレクチャー完了です。

【問題1】

LEFT JOIN したテーブルの条件を WHERE 句に書くと起きることは?

[選択肢]

【問題2】

注文が1件もないユーザーも含めて、ユーザーごとの注文件数を出したい。適切なのはどれ?

[選択肢]
会員登録すると
学習することができます。
会員登録する(無料)
登録済みの方はこちら
ログイン

学ぶ目的

結合は「横につなぐ」操作

初級では1つのテーブルからデータを取り出しました。実務のデータは複数のテーブルに分かれています。ユーザーはusers、注文はorders、商品はproducts。「誰が何を買ったか」を知るには、これらを横につなぐ必要があります。それがJOINです。

INNER と LEFT の使い分けが最初の分かれ道

INNER JOINは両方に存在する行だけを返し、LEFT JOINは左のテーブルを全部残します。「注文したことがないユーザーも含めて一覧にしたい」ならLEFT JOIN。この選択を間違えると、集計から特定の人が丸ごと消えます。

件数が増えるときは結合キーを疑う

結合したら行数が想定より増えた、という事故はよくあります。原因のほとんどは、結合キーが一意でないこと。1対多の関係で結合すれば、当然その分だけ行は増えます。集計する前に、何が1行になっているのかを確認する習慣をつけましょう。

このレクチャーで学ぶこと

  • INNER JOIN と LEFT JOIN の違い
  • 3つ以上のテーブルをつなぐ
  • 結合で件数が狂う原因と対処

質問

まだ質問は投稿されていません。

質問投稿

ログイン後に質問の投稿ができます。