SQL ขวา JOIN คำหลัก
ขวา JOIN ผลตอบแทนคำหลักแถวทั้งหมดจากตารางด้านขวา (Table2) กับแถวที่ตรงกันในตารางด้านซ้าย (table1) ผลเป็นโมฆะในด้านซ้ายเมื่อไม่มีการแข่งขัน
SQL ขวา 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! ในฐานข้อมูลบางขวา JOIN เรียกว่ากาบขวา JOIN
ฐานข้อมูลการสาธิต
ในการกวดวิชานี้เราจะใช้ที่รู้จักกันดีฐานข้อมูลตัวอย่าง Northwind
ด้านล่างนี้คือการเลือกจาก "Orders" ตาราง:
OrderID | ลูกค้า | EmployeeID | OrderDate | ShipperID |
---|---|---|---|---|
10308 | 2 | 7 | 1996-09-18 | 3 |
10309 | 37 | 3 | 1996-09-19 | 1 |
10310 | 77 | 8 | 1996-09-20 | 2 |
และเลือกจาก "Employees" ตาราง:
EmployeeID | นามสกุล | ชื่อจริง | วันที่เกิด | ภาพถ่าย | หมายเหตุ |
---|---|---|---|---|---|
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 ขวา JOIN ตัวอย่าง
คำสั่ง SQL ต่อไปนี้จะกลับพนักงานทุกคนและคำสั่งใดที่พวกเขาได้วาง:
ตัวอย่าง
SELECT Orders.OrderID, Employees.FirstName
FROM Orders
RIGHT JOIN
Employees
ON Orders.EmployeeID=Employees.EmployeeID
ORDER BY
Orders.OrderID;
ลองตัวเอง»
หมายเหตุ: สิทธิ JOIN คำหลักที่ส่งกลับแถวทั้งหมดจากตารางด้านขวา (ลูกจ้าง) แม้ว่าจะมีการแข่งขันในตารางข้างซ้าย (คำสั่งซื้อ)