ความแตกต่างหลักระหว่าง INNER JOIN และ LEFT JOIN ในภาษา SQL คืออะไร

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

เฉลยอธิบาย

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

ข้อสอบอื่นในวิชาการใช้ภาษา SQL

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