SQL ร่วมจะใช้ในการรวมแถวสองหรือมากกว่าตาราง
SQL JOIN
ประโยค JOIN SQL จะใช้ในการรวมแถวสองหรือมากกว่าตารางอยู่บนพื้นฐานของข้อมูลร่วมกันระหว่างพวกเขา
ชนิดที่พบมากที่สุดของการเข้าร่วมเป็น: SQL INNER JOIN (แบบง่ายเข้าร่วม) SQL แบบ INNER JOIN ผลตอบแทนแถวทั้งหมดจากตารางหลายที่สภาพเข้าร่วมจะได้พบกับ
ลองดูที่เลือกจาก "Orders" ตาราง:
OrderID | ลูกค้า | OrderDate |
---|---|---|
10308 | 2 | 1996-09-18 |
10309 | 37 | 1996-09-19 |
10310 | 77 | 1996-09-20 |
จากนั้นมีลักษณะที่เลือกจากที่ "Customers" ตาราง:
ลูกค้า | ชื่อลูกค้า | ชื่อผู้ติดต่อ | ประเทศ |
---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Mexico |
3 | Antonio Moreno Taqueria | Antonio Moreno | Mexico |
ขอให้สังเกตว่า "CustomerID" คอลัมน์ใน "Orders" ตารางหมายถึง "CustomerID" ใน "Customers" ตาราง ความสัมพันธ์ระหว่างสองตารางข้างต้นคือ "CustomerID" คอลัมน์
แล้วถ้าเราเรียกใช้คำสั่ง SQL ต่อไปนี้ (ที่ประกอบด้วยการรวมภายใน):
ตัวอย่าง
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM
Orders
INNER JOIN Customers
ON Orders.CustomerID=Customers.CustomerID;
ลองตัวเอง» จะผลิตอะไรเช่นนี้
OrderID | ชื่อลูกค้า | OrderDate |
---|---|---|
10308 | Ana Trujillo Emparedados y helados | 9/18/1996 |
10365 | Antonio Moreno Taqueria | 11/27/1996 |
10383 | Around the Horn | 12/16/1996 |
10355 | Around the Horn | 11/15/1996 |
10278 | Berglunds snabbkop | 8/12/1996 |
SQL ที่แตกต่างกันร่วม
ก่อนที่เราจะดำเนินการกับตัวอย่างที่เราจะมีรายการประเภทของ SQL ที่แตกต่างกันร่วมคุณสามารถใช้:
- INNER JOIN : คืนแถวทั้งหมดเมื่อมีอย่างน้อยหนึ่งในการแข่งขันในตารางทั้งสอง
- LEFT JOIN : กลับแถวทั้งหมดจากตารางด้านซ้ายและแถวจากตารางจับคู่ที่เหมาะสม
- RIGHT JOIN : กลับแถวทั้งหมดจากตารางด้านขวาและแถวจับคู่จากตารางด้านซ้าย
- FULL JOIN : กลับแถวทั้งหมดเมื่อมีการแข่งขันในหนึ่งในตาราง