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