📊 Associate Data Practitioner

Associate Data Practitioner 問題の一覧 › 2. データ分析とプレゼンテーション

注文テーブルのうち、まだ1件も注文のない顧客を顧客テーブルから抽出したい。最も適切な方法はどれか。

  1. customers INNER JOIN orders ON customers.id = orders.customer_id
  2. customers LEFT JOIN orders ON customers.id = orders.customer_id WHERE orders.customer_id IS NULL
  3. customers CROSS JOIN orders
  4. customers FULL OUTER JOIN orders ON customers.id = orders.customer_id WHERE customers.id IS NOT NULL
💡 答えと解説を見る
答え:B(customers LEFT JOIN orders ON customers.id = orders.customer_id WHERE orders.customer_id IS NULL)
LEFT JOIN で顧客を全件残し、注文側のキーが NULL の行を絞り込むと注文のない顧客が得られる(アンチ結合)。INNER JOIN は注文のある顧客のみ、CROSS JOIN は直積、Dは注文の有無を判別できない。
← 前の問題次の問題 →🎯 問題で学ぶで解く

※ 学習用に作成したオリジナル問題です。本番試験とは異なります。