การดำเนินการ LEFT JOIN, RIGHT JOIN

รวมระเบียนตารางต้นทางเมื่อใช้ในส่วนคำสั่ง FROM ใดๆ

ไวยากรณ์

FROM table1 [ LEFT | RIGHT ] JOIN table2
ON table1.field1compopr table2.field2

การดำเนินการ LEFT JOIN และ RIGHT JOIN มีส่วนต่างๆ ดังต่อไปนี้:

ส่วน

คำอธิบาย

table1, table2

ชื่อของตารางที่ระเบียนถูกรวม

field1, field2

ชื่อของเขตข้อมูลที่นำมารวมกัน เขตข้อมูลจะต้องมีชนิดข้อมูลเดียวกัน และมีข้อมูลประเภทเดียวกัน แต่ไม่จำเป็นต้องมีชื่อเหมือนกัน

compopr

ตัวดำเนินการเปรียบเทียบเชิงสัมพันธ์ใดๆ ได้แก่ "=", "<", ">", "<=", ">=" หรือ "<>"


ข้อสังเกต

ใช้การดำเนินการ LEFT JOIN เพื่อสร้าง การรวมภายนอกด้านซ้าย การรวมภายนอกด้านซ้ายรวมระเบียนทั้งหมดจากตารางแรก (ซ้าย) ของสองตาราง แม้ว่าจะไม่มีค่าที่ตรงกับระเบียนในตารางที่สอง (ขวา) ก็ตาม

ใช้การดำเนินการ RIGHT JOIN เพื่อสร้าง การรวมภายนอกด้านขวา การรวมภายนอกด้านขวารวมระเบียนทั้งหมดจากตารางที่สอง (ขวา) ของสองตาราง แม้ว่าจะไม่มีค่าที่ตรงกับระเบียนในตารางแรก (ซ้าย) ก็ตาม

ตัวอย่างเช่น คุณสามารถใช้ LEFT JOIN กับตาราง Department (ซ้าย) และ Employees (ขวา) เพื่อเลือกทุกแผนก รวมถึงแผนกที่ไม่มีลูกจ้างกำหนดไว้ด้วย เมื่อต้องการเลือกพนักงานทั้งหมด รวมถึงผู้ที่ไม่ได้กำหนดไว้กับแผนกใดๆ คุณต้องใช้ RIGHT JOIN

ตัวอย่างต่อไปนี้แสดงถึงวิธีที่คุณสามารถรวมตารางCategories และ Products บนเขตข้อมูล CategoryID ได้ คิวรีจะสร้างรายการของประเภททั้งหมด รวมถึงประเภทที่ไม่มีผลิตภัณฑ์ใดๆ ด้วย:

SELECT CategoryName, ProductName FROM Categories LEFT JOIN Products ON Categories.CategoryID = Products.CategoryID;

ในตัวอย่างนี้ CategoryID คือเขตข้อมูลที่รวมกัน แต่ไม่ได้รวมอยู่ในผลลัพธ์ของคิวรีเนื่องจากไม่ได้รวมอยู่ในคำสั่ง SELECT เมื่อต้องการรวมเขตข้อมูลที่รวมกันด้วย ให้ใส่ชื่อเขตข้อมูลในคำสั่ง SELECT ซึ่งในกรณีนี้จะเป็น Categories.CategoryID

หมายเหตุ: 

เมื่อต้องการสร้างคิวรีที่มีแต่ระเบียนที่มีข้อมูลเหมือนกันในเขตข้อมูลที่รวมกัน ให้ใช้การดำเนินการ INNER JOIN

  • LEFT JOIN หรือ RIGHT JOIN อาจถูกซ้อนไว้ภายใน INNER JOIN แต่ INNER JOIN ไม่สามารถถูกซ้อนไว้ใน LEFT JOIN หรือ RIGHT JOIN ได้ ดูการสนทนาเกี่ยวกับการซ้อนในหัวข้อ INNER JOIN เพื่อดูวิธีรวมแบบซ้อนภายในการรวมอื่น

  • คุณสามารถลิงก์ส่วนคำสั่ง ON ได้ ดูการสนทนาเกี่ยวกับการลิงก์ส่วนคำสั่งในหัวข้อ INNER JOIN เพื่อดูวิธีทำ

ถ้าคุณพยายามรวมเขตข้อมูลที่มีข้อมูล Memo หรือวัตถุ OLE ข้อผิดพลาดจะเกิดขึ้น



ขยายทักษะ Office ของคุณ
สำรวจการฝึกอบรม
รับฟีเจอร์ใหม่ก่อนใคร
เข้าร่วม Office Insider

ข้อมูลนี้เป็นประโยชน์หรือไม่

ขอบคุณสำหรับคำติชมของคุณ!

ขอขอบคุณสำหรับคำติชมของคุณ! เราคิดว่าอาจเป็นประโยชน์ที่จะให้คุณได้ติดต่อกับหนึ่งในตัวแทนฝ่ายสนับสนุน Office ของเรา

×