ล่าสุดการพัฒนาเว็บบทเรียน
 

SQL INNER JOIN คำหลัก


SQL INNER JOIN คำหลัก

ภายใน JOIN คำหลักที่เลือกแถวทั้งหมดจากทั้งตารางตราบใดที่มีการแข่งขันระหว่างคอลัมน์ในตารางทั้งสอง

SQL INNER JOIN ไวยากรณ์

SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name ;

หรือ:

SELECT column_name(s)
FROM table1
JOIN table2
ON table1.column_name = table2.column_name ;

PS! INNER JOIN เป็นเช่นเดียวกับ JOIN

SQL INNER JOIN


ฐานข้อมูลการสาธิต

ในการกวดวิชานี้เราจะใช้ที่รู้จักกันดีฐานข้อมูลตัวอย่าง Northwind

ด้านล่างนี้คือการเลือกจาก "Customers" ตาราง:

ลูกค้า ชื่อลูกค้า ชื่อผู้ติดต่อ ที่อยู่ เมือง รหัสไปรษณีย์ ประเทศ
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitucion 2222 Mexico D.F. 05021 Mexico
3 Antonio Moreno Taqueria Antonio Moreno Mataderos 2312 Mexico D.F. 05023 Mexico

และเลือกจาก "Orders" ตาราง:

OrderID ลูกค้า EmployeeID OrderDate ShipperID
10308 2 7 1996-09-18 3
10309 37 3 1996-09-19 1
10310 77 8 1996-09-20 2

SQL INNER JOIN ตัวอย่าง

คำสั่ง SQL ต่อไปนี้จะกลับลูกค้าทั้งหมดที่มีคำสั่งซื้อ:

ตัวอย่าง

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
INNER JOIN Orders
ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName;
ลองตัวเอง»

หมายเหตุ: INNER JOIN คำหลักที่เลือกแถวทั้งหมดจากทั้งตารางตราบใดที่มีการแข่งขันระหว่างคอลัมน์ หากมีแถวใน "Customers" ตารางที่ไม่ได้มีการแข่งขันใน "Orders" ลูกค้าเหล่านี้จะไม่ได้รับการจดทะเบียน