ในโพสต์นี้ เราจะเข้าใจความแตกต่างระหว่างการรวมภายนอกด้านซ้าย การเข้าร่วมภายนอกด้านขวา และการเข้าร่วมภายนอกแบบเต็ม
การรวมภายนอกด้านซ้าย
มันดึงแถวทั้งหมดจากตารางทางด้านซ้าย
เหมือนกับ '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