ในบทความนี้ เราจะเข้าใจความแตกต่างระหว่าง inner join และ outer join ใน SQL
การเข้าร่วมภายใน
-
ประโยคที่ใช้คือ 'INNER JOIN' และ 'JOIN'
-
ส่งคืนทูเพิลที่รวมกันของตารางตั้งแต่สองตารางขึ้นไป
-
เมื่อไม่มีแอตทริบิวต์ใดที่เหมือนกัน ผลลัพธ์จะว่างเปล่า
-
หากจำนวน tuples มากกว่า "INNER JOIN" จะทำงานได้อย่างรวดเร็วเมื่อเปรียบเทียบกับ "OUTERJOIN"
-
ใช้เมื่อต้องการข้อมูลโดยละเอียดเกี่ยวกับแอตทริบิวต์เฉพาะ
-
"เข้าร่วม" และ "เข้าร่วมภายใน" ทำงานในลักษณะเดียวกัน
ไวยากรณ์
SELECT * FROM table_1 INNER JOIN / JOIN table_2 ON table_1.column_name = table_2.column_name;
การรวมภายนอก
-
ส่งคืนทูเพิลรวมของตารางที่ระบุ
-
ส่งคืนแม้ว่าเงื่อนไข '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;