INNER JOINの理解
メニューを表示するにはスワイプしてください
2つのテーブルから行を結合し、両方のテーブルに一致するレコードのみを表示したい場合、INNER JOINを使用します。この結合タイプはSQLで最も一般的に利用されており、特に関連するデータセット間の関係を分析したいときに役立ちます。例えば、実際に注文を行った顧客のリスト(注文を一度もしていない顧客を除外)を取得したい場合、INNER JOINが最適です。これは、売上レポートの作成、アクティブユーザーの抽出、取引とその詳細の照合など、多くの実際の場面で有用です。
123456789SELECT customers.name AS customer_name, orders.amount AS order_amount FROM customers INNER JOIN orders ON customers.customer_id = orders.customer_id;
このクエリは、INNER JOIN が customers テーブルと orders テーブルの情報をどのように結合するかを示しています。クエリは name テーブルの customers 列と、amount テーブルの orders 列を選択します。結合条件は ON 句で指定されており、customers.customer_id = orders.customer_id となっています。これは、顧客が注文を持っている(つまり、customer_id が両方のテーブルに存在する)行のみが結果に含まれることを意味します。注文をしていない顧客(サンプルデータでは Charlie Lee や Eve Adams)は出力に表示されません。同様に、有効な顧客に紐づいていない注文も除外されますが、提供されたデータではすべての注文が既存の顧客を参照しています。
1234567891011SELECT orders.order_id, products.product_name FROM orders INNER JOIN order_products ON orders.order_id = order_products.order_id INNER JOIN products ON order_products.product_id = products.product_id;
1. 両方のテーブルに一致するレコードがない場合、INNER JOIN は何を返しますか?
2. INNER JOINで2つのテーブルを結合する際に、結合に使用するカラムを指定する句はどれですか?
3. customersとordersをcustomer_idで結合するINNER JOINクエリの空欄を埋めてください。
すべて明確でしたか?
フィードバックありがとうございます!
セクション 1. 章 1
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 1. 章 1