ในบทความนี้ เราจะทำความเข้าใจความแตกต่างระหว่าง Inner Join และ Outer Join ใน SQL
Inner Join
ใช้คลอส 'INNER JOIN' และ 'JOIN'
ส่งคืนทูเพิลรวมของตาราง 2 ตารางขึ้นไป
เมื่อไม่มีแอตทริบิวต์ร่วมกัน ผลลัพธ์จะว่างเปล่า
หากจำนวนทูเพิลมาก 'INNER JOIN' จะทำงานเร็วกว่า 'OUTER JOIN'
ใช้เมื่อต้องการข้อมูลรายละเอียดเกี่ยวกับแอตทริบิวต์เฉพาะ
'JOIN' และ 'INNER JOIN' ทำงานเหมือนกัน
รูปแบบคำสั่ง
SELECT * FROM table_1 INNER JOIN / JOIN table_2 ON table_1.column_name = table_2.column_name;
Outer Join
ส่งคืนทูเพิลรวมของตารางที่ระบุ
ส่งคืนแม้เงื่อนไข 'JOIN' จะล้มเหลว
สามารถใช้คลอส LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN
ไม่ขึ้นอยู่กับแอตทริบิวต์ร่วมกัน
หากแอตทริบิวต์ว่าง จะใส่ NULL แทนค่าว่าง
'OUTER JOIN' ช้ากว่า 'INNER JOIN'
ใช้เมื่อต้องการข้อมูลครบถ้วน
FULL OUTER JOIN และ FULL JOIN ทำงานเหมือนกัน
รูปแบบคำสั่ง
SELECT * FROM table_1 LEFT OUTER JOIN / RIGHT OUTER JOIN / FULL OUTER JOIN / FULL JOIN table_2 ON Table_1.column_name = table_2.column_name;