SQLは、RIGHT JOINキーワードを
RIGHTは左表(TABLE1)で一致する行で、右側のテーブルのすべての行(table2の)キーワードリターンを登録しよう。 一致するものがないとき、結果は左側にNULLです。
SQLは、RIGHT JOIN構文
SELECT column_name(s)
FROM table1
RIGHT JOIN table2
ON table1.column_name = table2.column_name ;
または:
SELECT column_name(s)
FROM table1
RIGHT OUTER JOIN table2
ON table1.column_name = table2.column_name ;
PS! いくつかのデータベースではRIGHT JOIN JOIN RIGHT OUTERと呼ばれています。
デモデータベース
このチュートリアルでは、よく知られているNorthwindサンプルデータベースを使用します。
下からの選択である"Orders"テーブルには:
受注 | 顧客ID | 従業員ID | 注文日 | ShipperID |
---|---|---|---|---|
10308 | 2 | 7 | 1996-09-18 | 3 |
10309 | 37 | 3 | 1996-09-19 | 1 |
10310 | 77 | 8 | 1996-09-20 | 2 |
以下とから選択"Employees"テーブル:
従業員ID | 苗字 | ファーストネーム | 誕生日 | 写真 | ノート |
---|---|---|---|---|---|
1 | Davolio | Nancy | 12/8/1968 | EmpID1.pic | Education includes a BA in psychology..... |
2 | Fuller | Andrew | 2/19/1952 | EmpID2.pic | Andrew received his BTS commercial and.... |
3 | Leverling | Janet | 8/30/1963 | EmpID3.pic | Janet has a BS degree in chemistry.... |
SQLは右の例を登録しよう
次のSQL文は、すべての従業員、およびそれらが置かれているすべての注文を返します。
例
SELECT Orders.OrderID, Employees.FirstName
FROM Orders
RIGHT JOIN
Employees
ON Orders.EmployeeID=Employees.EmployeeID
ORDER BY
Orders.OrderID;
»それを自分で試してみてください
注:RIGHTキーワードは、右の表(従業員)からのすべての行を返すJOIN、左テーブル(受注)で一致するデータが存在しない場合でも。