LEFT JOIN (หรือเรียกเต็มว่า LEFT OUTER JOIN) เป็นคำสั่งที่ใช้เชื่อมข้อมูลระหว่างสองตาราง โดยจะแสดงข้อมูลทั้งหมดจากตารางซ้ายและเฉพาะข้อมูลที่ตรงกันจากตารางขวา ถ้าไม่มีข้อมูลที่ตรงกันในตารางขวาจะแสดงค่า NULL
รูปแบบคำสั่ง
SELECT columns
FROM table1
LEFT JOIN table2 ON table1.column = table2.column;
table1= ตารางด้านซ้าย (ข้อมูลจะแสดงครบทั้งหมด)table2= ตารางด้านขวา (ข้อมูลแสดงเฉพาะที่ตรงกัน)
ตัวอย่างการใช้งาน
แสดงลูกค้าทั้งหมด พร้อมที่อยู่ (ถ้ามี)
SQL
SELECT c.first_name, c.last_name, a.address
FROM customer AS c
LEFT JOIN address AS a ON c.address_id = a.address_id;- ดึงข้อมูลจากตาราง
customerทั้งหมด - เชื่อมกับ
addressโดยใช้address_id - ถ้าลูกค้าคนไหนไม่มีข้อมูลที่อยู่ (ไม่มี
address_idที่ตรงกัน) จะยังแสดงชื่อ-นามสกุลลูกค้า แต่คอลัมน์addressจะเป็นNULL
แสดงภาพยนตร์ทั้งหมด พร้อมภาษาที่ใช้ (ถ้ามี)
SQL
SELECT f.title, l.name AS language
FROM film AS f
LEFT JOIN language AS l ON f.language_id = l.language_id;- แสดงชื่อภาพยนตร์ทั้งหมด แม้ว่าบางเรื่องจะไม่มีข้อมูลภาษา (ในตาราง
language) ก็จะแสดงชื่อเรื่อง พร้อมค่าNULLในช่องภาษา