การดำเนินการ INNER JOIN

นำไปใช้กับ
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

รวมระเบียนจากสองตารางเมื่อใดก็ตามที่มีค่าที่ตรงกันในเขตข้อมูลทั่วไป

ไวยากรณ์

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