ล่าสุดการพัฒนาเว็บบทเรียน
 

SQL OUTER JOIN เต็มคำหลัก


SQL FULL OUTER JOIN คำหลัก

ด้านนอกเต็มรูปแบบผลตอบแทน JOIN คำหลักแถวทั้งหมดจากตารางด้านซ้าย (table1) และจากตารางด้านขวา (Table2)

ด้านนอกเต็ม JOIN คำหลักรวมผลมาจากทั้งซ้ายและขวาเข้าร่วม

SQL FULL OUTER JOIN ไวยากรณ์

SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name ;

SQL FULL OUTER JOIN


ฐานข้อมูลการสาธิต

ในการกวดวิชานี้เราจะใช้ที่รู้จักกันดีฐานข้อมูลตัวอย่าง Northwind

ด้านล่างนี้คือการเลือกจาก "Customers" ตาราง:

ลูกค้า ชื่อลูกค้า ชื่อผู้ติดต่อ ที่อยู่ เมือง รหัสไปรษณีย์ ประเทศ
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitucion 2222 Mexico D.F. 05021 Mexico
3 Antonio Moreno Taqueria Antonio Moreno Mataderos 2312 Mexico D.F. 05023 Mexico

และเลือกจาก "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

SQL FULL OUTER JOIN ตัวอย่าง

คำสั่ง SQL ต่อไปนี้จะเลือกลูกค้าทั้งหมดและคำสั่งซื้อทั้งหมด:

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
FULL OUTER JOIN Orders
ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName;

เลือกจากชุดผลที่อาจมีลักษณะเช่นนี้

ชื่อลูกค้า OrderID
Alfreds Futterkiste  
Ana Trujillo Emparedados y helados 10308
Antonio Moreno Taqueria 10365
  10382
  10351

หมายเหตุ: เต็ม OUTER JOIN คำหลักที่ส่งกลับแถวทั้งหมดจากตารางด้านซ้าย (ลูกค้า) และแถวทั้งหมดจากตารางที่เหมาะสม (คำสั่งซื้อ) หากมีแถวใน "Customers" ที่ไม่ได้มีการแข่งขันใน "Orders" หรือถ้ามีแถวใน "Orders" ที่ไม่ได้มีการแข่งขันใน "Customers" , แถวเหล่านั้นจะได้รับการจดทะเบียนเป็นอย่างดี