Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ 実際のジョインシナリオ | セクション
SQL結合の徹底解説

book実際のジョインシナリオ

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

学校の管理者向けに包括的なレポートを作成することを想定。目的は、すべての生徒、その所属クラス、担当教師、および各科目の成績を一覧化すること。この種のレポートは、どの生徒が優秀か、どのクラスが追加支援を必要としているか、生徒の割り当てや成績付けにギャップがある箇所を特定するのに役立つ。

1234567891011121314
SELECT s.student_id, s.name AS student_name, c.class_name, t.name AS teacher_name, g.subject, g.score FROM students s LEFT JOIN classes c ON s.class_id = c.class_id LEFT JOIN teachers t ON c.teacher_id = t.teacher_id LEFT JOIN grades g ON s.student_id = g.student_id ORDER BY s.student_id, g.subject;
copy

このクエリは複数のLEFT JOINを使用し、studentsclassesteachersgradesテーブルの情報を統合。studentsテーブルを起点にclassesと結合することで、クラスに割り当てられていない生徒(class_idNULL)もレポートに表示される。次にteachersとの結合で、各クラスの担当教師を紐付けるが、教師がいない場合はteacher_nameNULLとなる。最後にgradesとの結合で、生徒ごとの科目と成績を取得するが、成績がない場合は該当列がNULLとなる。この方法により、クラスや成績が未割り当ての生徒、教師がいないクラス、全科目の成績分布など、全体像を把握できる。こうしたレポートは、生徒の未割り当てやクラス・教師ごとの学業成績の把握など、実用的な分析を可能にする。

1234567891011121314
SELECT s.student_id, s.name AS student_name, c.class_name, g.subject, g.score FROM students s LEFT JOIN classes c ON s.class_id = c.class_id LEFT JOIN grades g ON s.student_id = g.student_id WHERE c.class_id IS NULL OR g.grade_id IS NULL ORDER BY s.student_id;
copy

1. 成績がない学生を見つけるのに最適な結合タイプはどれですか?

2. 1つのクエリで複数の結合タイプを組み合わせるにはどうすればよいですか?

3. 学生、クラス、教師を結合して、各学生の名前、クラス、教師を表示するクエリの空欄を埋めてください。

question mark

成績がない学生を見つけるのに最適な結合タイプはどれですか?

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

question mark

1つのクエリで複数の結合タイプを組み合わせるにはどうすればよいですか?

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

question-icon

学生、クラス、教師を結合して、各学生の名前、クラス、教師を表示するクエリの空欄を埋めてください。

SELECT s.name AS student_name, c.class_name, t.name AS teacher_name FROM students s JOIN classes c ON s.class_id = c.class_id JOIN teachers t ON c.teacher_id = t.teacher_id;
student_name | class_name | teacher_name
-------------+--------------+----------------
Emily Brown | Mathematics | Alice Johnson
David Green | Mathematics | Alice Johnson
Sophia White | Science | Bob Smith
Michael Black| NULL | NULL
Olivia Blue | History | NULL
James Red | NULL | NULL
Lily Yellow | Art | Carol Lee

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

すべて明確でしたか?

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

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

セクション 1.  17

AIに質問する

expand

AIに質問する

ChatGPT

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

セクション 1.  17
some-alt