MySQL การใช้งานคำสั่ง LEFT JOIN

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 ในช่องภาษา
แชร์เรื่องนี้