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

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

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

ไวยากรณ์

FROM table1 INNER JOIN table2 ON table1. field1compopr table2. เขตข้อมูล 2

การดำเนินการ 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 โดยใช้ไวยากรณ์ต่อไปนี้:

เลือก เขตข้อมูล
FROM table1 INNER JOIN table2
บน ตาราง 1field1compoprtable2เขตข้อมูล 1 และ
บน ตาราง 1field2compoprtable2เขตข้อมูล 2) หรือ
บน ตาราง 1field3compoprtable2field3)];

คุณยังสามารถซ้อนคำสั่ง JOIN โดยใช้ไวยากรณ์ต่อไปนี้:

เลือก เขตข้อมูล
FROM table1 INNER JOIN
(table2 INNER JOIN [( ]table3
[INNER JOIN [( ]tablex [INNER JOIN ...)]
บน ตารางที่ 3field3compoprtablex. fieldx)]
บนตาราง 2field2compoprtable3เขตข้อมูล 3)
บนตาราง 1field1compoprtable2ฟิลด์ 2;

LEFT JOIN หรือ RIGHT JOIN อาจถูกซ้อนภายใน INNER JOIN แต่ INNER JOIN อาจไม่ได้ถูกซ้อนภายใน LEFT JOIN หรือ RIGHT JOIN