Devdit
 

SQL join 3 ตาราง ด้วย INNER JOIN

13.6K

SQL join 3 ตาราง ด้วย INNER JOIN บทความนี้สอนการใช้คำสั่ง INNER JOIN เพื่อ join 3 ตารางเข้าด้วยกัน ผ่าน column ที่มีความสัมพันธ์กันในรูปแบบ Primary Key และ Foreign Key สามารถเขียนคำสั่งได้ดังนี้

 

ตัวอย่าง โครงสร้างตาราง book, category และ author

ตาราง book
+---------+-------------+------------+--------------+
| book_id | book_name   | book_cgy_id | book_ath_id |
+---------+-------------+------------+--------------+
|       1 | PHP & MySQL |          1 |            1 |
|       2 | Python      |          1 |            1 |
|       3 | SQL         |          2 |            2 |
|       4 | Java        |          2 |            2 |
+---------+-------------+------------+--------------+
ตาราง category
+--------+-------------+
| cgy_id | cgy_name    |
+--------+-------------+
|      1 | Programming |
|      2 | Networking  |
+--------+-------------+
ตาราง author
+--------+----------+
| ath_id | ath_name |
+--------+----------+
|      1 | Mr.A     |
|      2 | Mrs.B    |
+--------+----------+

 

ตัวอย่าง SQL join 3 ตาราง ด้วย INNER JOIN

SELECT book_id, book_name, cgy_name, ath_name 
FROM book 
INNER JOIN category ON ( book_cgy_id = cgy_id ) 
INNER JOIN author ON ( book_ath_id = ath_id );

ผลลัพธ์

+---------+-------------+-------------+----------+
| book_id | book_name   | cgy_name    | ath_name |
+---------+-------------+-------------+----------+
|       1 | PHP & MySQL | Programming | Mr.A     |
|       2 | Python      | Programming | Mr.A     |
|       3 | SQL         | Networking  | Mrs.B    |
|       4 | Java        | Networking  | Mrs.B    |
+---------+-------------+-------------+----------+

คำอธิบาย

SQL join 3 ตาราง ผ่าน column ที่เป็น Primary Key และ Foreign Key โดยมีรายละเอียด SQL ดังนี้

1. SELECT book_id, book_name, cgy_name, ath_name FROM book คือ กำหนด columns ที่จะแสดง โดยตารางหลัก คือ book

2. INNER JOIN category ON ( book_cgy_id = cgy_id ) คือ join ตาราง book กับ category ด้วย column book_cgy_id (FK) เท่ากับ cgy_id (PK)

3. INNER JOIN author ON ( book_ath_id = ath_id ) คือ join ตาราง book กับ author ด้วย column book_ath_id  (FK) เท่ากับ ath_id 

แก้ไข 2 ปีที่แล้ว
ชอบ
ลิ้งก์
แชร์
Devdit มีช่อง YouTube แล้ว
เราสร้างวิดีโอเกี่ยวกับเทคโนโลยี ทำตามง่ายๆ