ความแตกต่างระหว่าง INNER JOIN และ LEFT JOIN ในฐานข้อมูลเชิงสัมพันธ์คืออะไร

INNER JOIN คืนเฉพาะแถวที่มีค่าตรงกันในทั้งสองตาราง ส่วน LEFT JOIN คืนแถวทั้งหมดจากตารางซ้าย และแถวที่ตรงกันจากตารางขวา หากไม่มีค่าตรงกันจะแสดง NULL
INNER JOIN คืนแถวทั้งหมดจากตารางซ้าย ส่วน LEFT JOIN คืนเฉพาะแถวที่มีค่าตรงกันในทั้งสองตาราง และแถวที่ไม่ตรงจะถูกลบออก
INNER JOIN และ LEFT JOIN ให้ผลลัพธ์เหมือนกัน ต่างกันเพียงลำดับการประมวลผล โดย LEFT JOIN ทำงานเร็วกว่าเนื่องจากอ่านตารางซ้ายก่อน
INNER JOIN ใช้ได้เฉพาะกับตารางที่มี Primary Key ร่วมกัน ส่วน LEFT JOIN ใช้ได้กับตารางทุกประเภทโดยไม่จำเป็นต้องมีความสัมพันธ์ระหว่างกัน

เฉลยอธิบาย

INNER JOIN จะคืนเฉพาะแถวที่มีค่าคอลัมน์ที่ใช้เชื่อมตรงกันในทั้งสองตาราง ส่วน LEFT JOIN จะคืนแถวทั้งหมดจากตารางด้านซ้าย (LEFT) และแถวที่ตรงกันจากตารางด้านขวา หากตารางขวาไม่มีแถวที่ตรงกัน ค่าในคอลัมน์ของตารางขวาจะแสดงเป็น NULL ทำให้ LEFT JOIN เหมาะสำหรับกรณีที่ต้องการข้อมูลทั้งหมดจากตารางหลักแม้จะไม่มีข้อมูลที่ตรงกันในตารางรอง

ข้อสอบอื่นในวิชาความรู้ความสามารถในการวิเคราะห์ ออกแบบ ฐานข้อมูล

ดูข้อสอบวิชานี้ทั้งหมด →