single
チャレンジ:LEFT、RIGHT、INNER結合
メニューを表示するにはスワイプしてください
オンラインストアは在庫が少なくなってきたため、サプライヤーから追加の商品を注文しました。これにより、出荷が到着するまで少し時間があります。
この機会に新しいことを学びましょう。これまでにSQLの標準的なJOINを使用してきましたが、他にもさまざまな種類の結合があります。
主なテーブル結合の4種類は以下の通りです:
INNER JOIN: 両方のテーブルで一致する値を持つ行を返します。これは、これまで使用してきた標準のJOINと同じです。
LEFT JOIN: 左側のテーブルのすべての行と、右側のテーブルで一致する行を返します。一致しない場合、右側のテーブルにはNULLが返されます。
RIGHT JOIN:右側のテーブルのすべての行と、左側のテーブルの一致する行を返す。一致しない場合、左側のテーブルにはNULLが返される:
FULL JOIN: 両方のテーブルからすべての行を返します。一致しない場合は、他方のテーブルの不足している値に対して NULL を返します:
これらの結合について詳しく学ぶ前に、作業する2つのテーブルを確認してください。これらのテーブルには、コースとそのコースに登録している学生の詳細が含まれています。
courses:
enrollments:
これらの種類の結合を使用する構文は実際には簡単です。おなじみの JOIN や INNER JOIN の代わりに、LEFT JOIN などの他の種類の JOIN を指定します:
SELECT table1.column, table2.column
FROM table1 -- this is the LEFT table
LEFT JOIN table 2 -- this is the RIGHT table
ON table1.common_column = table2.common_column
スワイプしてコーディングを開始
すべてのコースと、そのコースに登録している学生の一覧を取得してください。登録学生がいないコースも含めて取得する必要があります。
以下のカラムをこの順序で取得してください:
courses.course_id,
courses.course_name,
courses.description,
enrollments.student_name,
enrollments.enrollment_date
この課題を解決するために、適切な種類のJOINを使用してください。
簡単な手順
courses.course_idテーブルからcourses.course_name、courses.description、enrollments.student_name、enrollments.enrollment_date、coursesのカラムを取得します。enrollmentsテーブルをLEFT JOINで結合します。- 両テーブルの共通カラムは
courses.course_id = enrollments.course_idです。
解答
フィードバックありがとうございます!
single
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください