คีย์เวิร์ดเข้าร่วม SQL
เข้าร่วมภายใน
คำINNER JOIN
สั่งส่งคืนแถวที่มีค่าที่ตรงกันในทั้งสองตาราง
SQL ต่อไปนี้จะเลือกคำสั่งซื้อทั้งหมดที่มีข้อมูลลูกค้า:
ตัวอย่าง
SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
INNER JOIN
Customers ON Orders.CustomerID = Customers.CustomerID;
หมายเหตุ:คีย์เวิร์ด INNER JOIN จะเลือกแถวทั้งหมดจากทั้งสองตาราง ตราบใดที่มีการจับคู่ระหว่างคอลัมน์ หากมีบันทึกในตาราง "คำสั่งซื้อ" ที่ไม่มีรายการที่ตรงกันใน "ลูกค้า" คำสั่งซื้อเหล่านี้จะไม่ปรากฏ!
คำสั่ง SQL ต่อไปนี้จะเลือกคำสั่งซื้อทั้งหมดที่มีข้อมูลลูกค้าและผู้จัดส่ง:
ตัวอย่าง
SELECT Orders.OrderID, Customers.CustomerName, Shippers.ShipperName
FROM
((Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID)
INNER JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID);
ซ้ายเข้าร่วม
คำLEFT JOIN
สั่งส่งคืนแถวทั้งหมดจากตารางด้านซ้าย และแถวที่ตรงกันจากตารางด้านขวา ผลลัพธ์จะเป็น NULL จากด้านขวา หากไม่มีการจับคู่
SQL ต่อไปนี้จะเลือกลูกค้าทั้งหมด และคำสั่งซื้อใดๆ ที่พวกเขาอาจมี:
ตัวอย่าง
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
LEFT JOIN Orders
ON Customers.CustomerID = Orders.CustomerID
ORDER BY Customers.CustomerName;
หมายเหตุ:คีย์เวิร์ดLEFT JOIN
จะส่งกลับระเบียนทั้งหมดจากตารางด้านซ้าย (ลูกค้า) แม้ว่าจะไม่มีรายการที่ตรงกันในตารางด้านขวา (คำสั่งซื้อ)
ขวาเข้าร่วม
คำRIGHT JOIN
สั่งส่งคืนแถวทั้งหมดจากตารางด้านขวา และระเบียนที่ตรงกันจากตารางด้านซ้าย ผลลัพธ์จะเป็น NULL จากด้านซ้าย เมื่อไม่มีการจับคู่
SQL ต่อไปนี้จะส่งคืนพนักงานทั้งหมด และคำสั่งซื้อใดๆ ที่พวกเขาอาจวางไว้:
ตัวอย่าง
SELECT Orders.OrderID, Employees.LastName, Employees.FirstName
FROM Orders
RIGHT JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID
ORDER BY Orders.OrderID;
หมายเหตุ:คีย์เวิร์ดRIGHT JOIN
จะส่งกลับระเบียนทั้งหมดจากตารางด้านขวา (พนักงาน) แม้ว่าจะไม่มีรายการที่ตรงกันในตารางด้านซ้าย (คำสั่งซื้อ)
เต็ม OUTER เข้าร่วม
คำFULL OUTER JOIN
สั่งส่งคืนแถวทั้งหมดเมื่อมีรายการที่ตรงกันในตารางด้านซ้ายหรือตารางด้านขวา
คำสั่ง SQL ต่อไปนี้จะเลือกลูกค้าทั้งหมดและคำสั่งซื้อทั้งหมด:
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
FULL OUTER JOIN Orders
ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName;
หมายเหตุ:คีย์เวิร์ดFULL OUTER JOIN
ส่งคืนแถวทั้งหมดจากตารางด้านซ้าย (ลูกค้า) และแถวทั้งหมดจากตารางด้านขวา (คำสั่งซื้อ) หากมีแถวใน "ลูกค้า" ที่ไม่มีรายการที่ตรงกันใน "คำสั่งซื้อ" หรือมีแถวใน "คำสั่งซื้อ" ที่ไม่มีรายการที่ตรงกันใน "ลูกค้า" แถวเหล่านั้นก็จะแสดงด้วย