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つを試してチャットを始めてください