รวมระเบียนจากสองตารางเมื่อใดก็ตามที่มีค่าที่ตรงกันในเขตข้อมูลทั่วไป
ไวยากรณ์
FROM table1 INNER JOIN table2 ON table1. field1compopr table2. field2
การดำเนินการ INNER JOIN มีส่วนเหล่านี้:
| ส่วน | คำอธิบาย |
|---|---|
| table1, table2 | ชื่อของตารางที่ระเบียนถูกรวม |
| field1, field2 | ชื่อของเขตข้อมูลที่รวมกัน ถ้าไม่ใช่ตัวเลข เขตข้อมูลจะต้องเป็นชนิดข้อมูลเดียวกันและมีข้อมูลชนิดเดียวกัน แต่ไม่จําเป็นต้องมีชื่อเดียวกัน |
| compopr | ตัวดําเนินการเปรียบเทียบเชิงสัมพันธ์ใดๆ: "=, "," "<>," "<=" ">=" หรือ "<>" |
ข้อสังเกต
คุณสามารถใช้การดําเนินการ INNER JOIN ในส่วนคําสั่ง FROM ใดก็ได้ นี่คือชนิดการรวมที่ใช้กันมากที่สุด การรวมภายในจะรวมระเบียนจากสองตารางเมื่อใดก็ตามที่มีค่าที่ตรงกันในเขตข้อมูลที่เหมือนกันกับทั้งสองตาราง
คุณสามารถใช้ INNER JOIN กับตารางแผนกและพนักงานเพื่อเลือกพนักงานทั้งหมดในแต่ละแผนก ในทางตรงกันข้าม เมื่อต้องการเลือกแผนกทั้งหมด (แม้ว่าบางแผนกจะไม่มีการมอบหมายพนักงานให้กับแผนกเหล่านั้น) หรือพนักงานทั้งหมด (แม้ว่าบางแผนกไม่ได้กําหนดให้กับแผนก) คุณสามารถใช้การดําเนินการ LEFT JOIN หรือ RIGHT JOIN เพื่อสร้างการรวมภายนอกได้
ถ้าคุณพยายามรวมเขตข้อมูลที่มี Memo หรือข้อมูลวัตถุ OLE ข้อผิดพลาดจะเกิดขึ้น
คุณสามารถรวมเขตข้อมูลตัวเลขสองเขตข้อมูลที่มีชนิดคล้ายกันได้ ตัวอย่างเช่น คุณสามารถรวมเขตข้อมูล AutoNumber และ Long ได้เนื่องจากเป็นชนิดที่เหมือนกัน อย่างไรก็ตาม คุณไม่สามารถรวมชนิดเขตข้อมูลแบบ Single และ Double ได้
ตัวอย่างต่อไปนี้แสดงถึงวิธีที่คุณสามารถรวมตารางประเภทและผลิตภัณฑ์บนเขตข้อมูล CategoryID ได้:
SELECT CategoryName, ProductName
FROM Categories INNER JOIN Products
ON Categories.CategoryID = Products.CategoryID;
ในตัวอย่างก่อนหน้า CategoryID คือเขตข้อมูลที่รวมกัน แต่ไม่ได้รวมอยู่ในผลลัพธ์ของคิวรีเนื่องจากไม่ได้รวมอยู่ในคําสั่ง SELECT เมื่อต้องการรวมเขตข้อมูลที่รวมเข้าด้วยกัน ให้ใส่ชื่อเขตข้อมูลในคําสั่ง SELECT ในกรณีนี้ Categories.CategoryID
คุณยังสามารถลิงก์ส่วนคำสั่ง ON หลายรายการในคำสั่ง JOIN โดยใช้ไวยากรณ์ต่อไปนี้:
เขตข้อมูล SELECT
FROM table1 INNER JOIN table2
ON table1. field1compoprtable2. field1 และ
ON table1. field2compoprtable2. field2) หรือ
ON table1. field3compoprtable2. field3)];
คุณยังสามารถซ้อนคำสั่ง JOIN โดยใช้ไวยากรณ์ต่อไปนี้:
เขตข้อมูล SELECT
FROM table1 INNER JOIN
(table2 INNER JOIN [( ]table3
[INNER JOIN [( ]tablex [INNER JOIN ...)]
ON table3. field3compoprtablexfieldx)]
ON table2. field2compoprtable3field3)
ON table1. field1compoprtable2. field2;
LEFT JOIN หรือ RIGHT JOIN อาจถูกซ้อนภายใน INNER JOIN แต่ INNER JOIN อาจไม่ได้ถูกซ้อนภายใน LEFT JOIN หรือ RIGHT JOIN