Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ INNER JOINの理解 | セクション
SQL結合の徹底解説

bookINNER JOINの理解

メニューを表示するにはスワイプしてください

JOIN の理解は不可欠です。なぜなら、実際のデータは単一のテーブルに保存されることはほとんどないからです。ビジネス上の質問に答えたり、レポートを作成したり、アプリケーションを動かしたりするためには、複数のテーブルから情報を組み合わせる必要があります。注文の追跡、ユーザー活動の分析、ダッシュボードの構築など、JOIN を習得することで関連データを効率的に結び付け、データベースからより深い洞察を得ることができます。

2つのテーブルの行を結合し、両方のテーブルに一致するレコードのみを表示したい場合、INNER JOIN を使用します。この結合タイプは SQL で最も一般的に使われており、特に関連するデータセット間の関係を分析したいときに利用されます。例えば、実際に注文をした顧客のリスト(注文を一度もしていない顧客を除外)を取得したい場合、INNER JOIN が最適です。これは、売上レポートの作成、アクティブユーザーの抽出、取引とその詳細の照合など、多くの実際の場面で役立ちます。

123456789
SELECT customers.name AS customer_name, orders.amount AS order_amount FROM customers INNER JOIN orders ON customers.customer_id = orders.customer_id;
copy

このクエリは、INNER JOINcustomers テーブルと orders テーブルの情報をどのように結合するかを示しています。クエリは name テーブルの customers 列と、amount テーブルの orders 列を選択します。結合条件は ON 句で指定されており、customers.customer_id = orders.customer_id となっています。つまり、顧客が対応する注文を持っている(customer_id が両方のテーブルに存在する)行のみが結果に含まれます。注文をしていない顧客(サンプルデータでは Charlie Lee と Eve Adams)は出力に表示されません。同様に、有効な顧客に紐づいていない注文も除外されますが、提供されたデータではすべての注文が既存の顧客を参照しています。

1234567891011
SELECT 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;
copy

1. INNER JOIN は、両方のテーブルに一致するレコードがない場合、何を返しますか?

2. INNER JOINで2つのテーブルを結合する際に、結合に使用するカラムを指定する句はどれですか?

3. customersorderscustomer_idで結合するINNER JOINクエリの空欄を埋めてください。

question mark

INNER JOIN は、両方のテーブルに一致するレコードがない場合、何を返しますか?

正しい答えを選んでください

question mark

INNER JOINで2つのテーブルを結合する際に、結合に使用するカラムを指定する句はどれですか?

正しい答えを選んでください

question-icon

customersorderscustomer_idで結合するINNER JOINクエリの空欄を埋めてください。

SELECT customers.name, orders.order_date FROM customers orders customers.customer_id = orders.customer_id;

クリックまたはドラッグ`n`ドロップして空欄を埋めてください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 1.  1

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 1.  1
some-alt