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

สิ่งสำคัญ:  บทความนี้เป็นการแปลด้วยเครื่อง โปรดดู ข้อจำกัดความรับผิดชอบ โปรดดูบทความฉบับภาษาอังกฤษ ที่นี่ เพื่อใช้อ้างอิง

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

ไวยากรณ์

จากtable1 [ซ้าย | รวมขวา] table2
บนcompoprtable1.field1 table2.field2

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

ส่วน

คำอธิบาย

table1, table2

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

field1, field2

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

compopr

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


ข้อสังเกต

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

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

ตัวอย่างเช่น คุณสามารถใช้ LEFT JOIN กับตาราง Departments (ซ้าย) และตาราง 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 ข้อผิดพลาดเกิดขึ้น



หมายเหตุ: ข้อจำกัดความรับผิดชอบของการแปลด้วยเครื่อง: บทความนี้มีการแปลด้วยระบบคอมพิวเตอร์โดยไม่มีการดำเนินการโดยบุคคล Microsoft จัดให้มีการแปลด้วยเครื่องนี้เพื่อช่วยให้ผู้ใช้ที่ไม่ได้พูดภาษาอังกฤษสามารถใช้ประโยชน์จากเนื้อหาเกี่ยวกับผลิตภัณฑ์ บริการและเทคโนโลยีของ Microsoft เนื่องจากบทความมีการแปลด้วยเครื่อง อาจมีข้อผิดพลาดด้านคำศัพท์ ไวยากรณ์หรือรูปประโยค

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

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

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

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

×