SQL RIGHT JOINキーワード
SQL RIGHT JOINキーワード
RIGHT JOINキーワードは、右側のテーブル(table2)からすべてのレコードを返し、左側のテーブル (table1)から一致するレコードを返します。一致がない場合、結果は左側から0レコードになります。
RIGHT JOIN構文
SELECT <em>column_name(s)</em>
FROM <em>table1</em>
RIGHT JOIN <em>table2
</em>ON <em>table1.column_name </em>=<em> table2.column_name</em>;
注:いくつかのデータベースでは、RIGHT JOINはRIGHT OUTER JOINと呼ばれています。
デモデータベース
このチュートリアルでは、よく知られているNorthwindサンプルデータベースを使用します。
以下は、「注文」テーブルからの選択です。
|
オーダーID |
顧客ID |
従業員ID |
注文日 |
荷送人ID |
|---|---|---|---|---|
| 10308 | 2 | 7 | 1996-09-18 | 3 |
| 10309 | 37 | 3 | 1996-09-19 | 1 |
| 10310 | 77 | 8 | 1996-09-20 | 2 |
そして、「従業員」テーブルからの選択
|
従業員ID |
苗字 |
ファーストネーム |
生年月日 |
写真 |
|---|---|---|---|---|
| 1 | ダヴォリオ | ナンシー | 1968/12/8 | EmpID1.pic |
| 2 | フラー | アンドリュー | 1952/2/19 | EmpID2.pic |
| 3 | レバリング | ジャネット | 1963/8/30 | EmpID3.pic |
SQL RIGHT JOINの例
次のSQLステートメントは、すべての従業員と、従業員が行った可能性のある注文を返します。
例
SELECT Orders.OrderID, Employees.LastName, Employees.FirstName
FROM Orders
RIGHT JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID
ORDER BY Orders.OrderID;
注:RIGHT JOINキーワードは、左側のテーブル(Orders)に一致するレコードがない場合でも、右側のテーブル(Employees)からすべてのレコードを返します。