Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ความแตกต่างระหว่างการเข้าร่วมด้านนอกซ้าย, ขวาและแบบเต็ม


ในโพสต์นี้ เราจะเข้าใจความแตกต่างระหว่างการรวมภายนอกด้านซ้าย การเข้าร่วมภายนอกด้านขวา และการเข้าร่วมภายนอกแบบเต็ม

การรวมภายนอกด้านซ้าย

มันดึงแถวทั้งหมดจากตารางทางด้านซ้าย

เหมือนกับ 'Inner Join + แถวที่ไม่ตรงกันทั้งหมดจากตารางด้านซ้าย'

ข้อมูลที่ไม่ตรงกันในตารางที่ถูกต้องจะหายไป

ตัวอย่าง:

SELECT [column_1, column_2, ….]
FROM table_1
LEFT OUTER JOIN table_2 ON
table_1.matching_column = table_2.matching_column

ตัวเชื่อมด้านขวา

ดึงข้อมูลทุกแถวของตารางทางด้านขวา

คล้ายกับการแสดง "Inner Join + แถวที่ไม่ตรงกันทั้งหมดจากตารางด้านขวา"

ข้อมูลที่ไม่ตรงกันจากตารางด้านซ้ายจะหายไป

ตัวอย่าง:

SELECT [column_1, column_2, ….]
FROM table_1
RIGHT OUTER JOIN table_2 ON
table_1.matching_column = table_2.matching_column

การเข้าร่วมแบบเต็มนอก

มันดึงแถวทั้งหมดจากทั้งสองตาราง

คล้ายกับการดำเนินการ 'Inner Join + แถวที่ไม่ตรงกันทั้งหมดจากตารางด้านซ้าย + แถวที่ไม่ตรงกันทั้งหมดจากตารางด้านขวา'

ไม่มีข้อมูลสูญหายระหว่างการดำเนินการนี้

ตัวอย่าง:

SELECT [column_1, column_2, ….]
FROM table_1
FULL OUTER JOIN table_2 ON
table_1.matching_column = table_2.matching_column