Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ 3つ以上のテーブルの結合 | セクション
SQL結合の徹底解説

book3つ以上のテーブルの結合

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

実際のデータベース運用では、2つ以上のテーブルにまたがる情報を取得する必要がよくあります。複数テーブルの結合を使用すると、3つ以上の関連テーブルからデータを1つのクエリで結合でき、包括的なレポートや分析に不可欠です。例えば、従業員がどのプロジェクトに割り当てられているかを確認し、さらにそのプロジェクトを担当する部門の詳細も含めたい場合があります。この手法は、部門ごとの従業員の関与状況を分析したり、全社的なプロジェクト割り当てを追跡したりするビジネスレポートで一般的に利用されます。

1234567
SELECT employees.name AS employee_name, projects.project_name FROM employees INNER JOIN assignments ON employees.employee_id = assignments.employee_id INNER JOIN projects ON assignments.project_id = projects.project_id;
copy

このクエリは、employeesassignmentsprojectsの3つのテーブルを結合し、従業員がどのプロジェクトに割り当てられているかを表示しています。まず、employeesassignmentsemployee_id列で結合し、各従業員とその割り当てを関連付けます。次に、assignmentsprojectsproject_idで結合し、各割り当てと対応するプロジェクトを関連付けます。このようにINNER JOINを連鎖させることで、複数のテーブル間のリレーションをたどり、必要な結合データを取得できます。

さらに、各プロジェクトが属する部門など、より多くの情報を含めたい場合は、4つ目のテーブルまで結合を拡張できます。次のクエリでは、employeesassignmentsprojectsdepartmentsを結合し、従業員名、プロジェクト名、部門名を1つの結果として表示します。

123456789
SELECT employees.name AS employee_name, projects.project_name, departments.department_name FROM employees INNER JOIN assignments ON employees.employee_id = assignments.employee_id INNER JOIN projects ON assignments.project_id = projects.project_id INNER JOIN departments ON projects.department_id = departments.department_id;
copy

1. 1つのSQLクエリで2つ以上のテーブルを結合するために必要なものは何ですか?

2. 同じ名前のカラムを持つ複数のテーブルを結合する際、曖昧さを回避する方法は何ですか?

3. employees、assignments、projectsを結合し、各従業員の名前と割り当てられたプロジェクトを表示するクエリの空欄を埋めてください。

question mark

1つのSQLクエリで2つ以上のテーブルを結合するために必要なものは何ですか?

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

question mark

同じ名前のカラムを持つ複数のテーブルを結合する際、曖昧さを回避する方法は何ですか?

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

question-icon

employees、assignments、projectsを結合し、各従業員の名前と割り当てられたプロジェクトを表示するクエリの空欄を埋めてください。

SELECT employees.name, projects.project_name FROM employees assignments ON employees.employee_id = assignments.employee_id projects ON assignments.project_id = projects.project_id;
Alice Johnson | Website Redesign
Bob Smith | Website Redesign
Bob Smith | Mobile App
Carol White | Product Launch
David Brown | Website Redesign
Eve Black | Mobile App
Frank Green | Product Launch
Grace Lee | Product Launch
Hannah Adams | Recruitment Drive

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

すべて明確でしたか?

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

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

セクション 1.  7

AIに質問する

expand

AIに質問する

ChatGPT

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

セクション 1.  7
some-alt