T-SQL - การเข้าร่วมตาราง
เซิร์ฟเวอร์ MS SQL Joinsอนุประโยคใช้เพื่อรวมระเบียนจากตารางสองตารางขึ้นไปในฐานข้อมูล JOIN เป็นวิธีการรวมฟิลด์จากสองตารางโดยใช้ค่าร่วมกันสำหรับแต่ละตาราง
พิจารณาสองตารางต่อไปนี้ (ก) ตารางลูกค้ามีดังนี้ -
ID NAME AGE ADDRESS SALARY
1 Ramesh 32 Ahmedabad 2000.00
2 Khilan 25 Delhi 1500.00
3 kaushik 23 Kota 2000.00
4 Chaitali 25 Mumbai 6500.00
5 Hardik 27 Bhopal 8500.00
6 Komal 22 MP 4500.00
7 Muffy 24 Indore 10000.00
(b) อีกตารางคือ ORDERS ดังต่อไปนี้ -
OID DATE CUSTOMER_ID AMOUNT
100 2009-10-08 00:00:00.000 3 1500.00
101 2009-11-20 00:00:00.000 2 1560.00
102 2009-10-08 00:00:00.000 3 3000.00
103 2008-05-20 00:00:00.000 4 2060.00
ให้เราเข้าร่วมสองตารางนี้ในคำสั่ง SELECT ของเราดังนี้ -
SELECT ID, NAME, AGE, AMOUNT
FROM CUSTOMERS, ORDERS
WHERE CUSTOMERS.ID = ORDERS.CUSTOMER_ID
OR
SELECT A.ID, A.NAME, A.AGE, B.AMOUNT
FROM CUSTOMERS A inner join ORDERS B on A.ID = B.Customer_ID
คำสั่งดังกล่าวจะสร้างผลลัพธ์ต่อไปนี้
ID NAME AGE AMOUNT
2 Khilan 25 1560.00
3 kaushik 23 1500.00
3 kaushik 23 3000.00
4 Chaitali 25 2060.00
เป็นที่สังเกตได้ว่าการรวมจะดำเนินการในส่วนคำสั่ง WHERE สามารถใช้ตัวดำเนินการหลายตัวเพื่อเข้าร่วมตารางเช่น =, <,>, <>, <=,> =,! =, ระหว่าง, LIKE และ NOT; สามารถใช้ร่วมกับตารางได้ อย่างไรก็ตามตัวดำเนินการที่พบมากที่สุดคือสัญลักษณ์เท่ากับ
ประเภทการเข้าร่วม MS SQL Server -
มีการรวมประเภทต่างๆใน MS SQL Server -
INNER JOIN - ส่งคืนแถวเมื่อมีการจับคู่ในทั้งสองตาราง
LEFT JOIN - แสดงแถวทั้งหมดจากตารางด้านซ้ายแม้ว่าจะไม่มีรายการที่ตรงกันในตารางด้านขวา
RIGHT JOIN - ส่งคืนแถวทั้งหมดจากตารางด้านขวาแม้ว่าจะไม่มีรายการที่ตรงกันในตารางด้านซ้าย
FULL JOIN - ส่งคืนแถวเมื่อมีการแข่งขันในตารางใดตารางหนึ่ง
SELF JOIN - ใช้เพื่อรวมตารางเข้ากับตัวเองราวกับว่าตารางเป็นสองตารางโดยเปลี่ยนชื่อตารางอย่างน้อยหนึ่งตารางในคำสั่ง MS SQL Server ชั่วคราว
CARTESIAN JOIN - ส่งคืนผลคูณคาร์ทีเซียนของชุดระเบียนจากตารางที่รวมสองตารางขึ้นไป