ความแตกต่างหลักระหว่าง 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