Một mệnh đề SQL JOIN
được dùng để kết hợp các hàng từ hai hoặc nhiều bảng, dựa trên một trường chung giữa chúng.
Một kiểu nối phổ biến nhất là: SQL INNER JOIN (nối đơn giản). SQL INNER JOIN
trả về tất cả các hàng từ nhiều bảng nơi điều kiện nối gặp gỡ nhau.
Cùng quan sát một lựa chọn từ bảng “Orders”:
OrderID | CustomerID | OrderDate |
---|---|---|
10308 | 2 | 1996-09-18 |
10309 | 37 | 1996-09-19 |
10310 | 77 | 1996-09-20 |
Tiếp đó, ta nhìn tiếp vào một lựa chọn từ bảng “Customers”:
CustomerID | CustomerName | ContactName | Country |
---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mexico |
Lưu ý cột “CustomerID” trong bảng “Orders” viện dẫn từ “CustomerID” trong bảng “Customers”. Mối quan hệ giữa hai bảng trên là cột “CustomerID”.
Sau đó, nếu chúng ta chạy câu lệnh SQL sau (bao gồm INNER JOIN
).
Ví dụ:
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers
ON Orders.CustomerID=Customers.CustomerID;
Nó sẽ tạo ra bảng kiểu như thế này:
OrderID | CustomerName | OrderDate |
---|---|---|
10308 | Ana Trujillo Emparedados y helados | 9/18/1996 |
10365 | Antonio Moreno Taquería | 11/27/1996 |
10383 | Around the Horn | 12/16/1996 |
10355 | Around the Horn | 11/15/1996 |
10278 | Berglunds snabbköp | 8/12/1996 |
Các kiểu SQL JOIN
Trước khi chúng ta tiếp tục với các ví dụ, chúng ta sẽ liệt kê các kiểu SQL JOIN bạn có thể sử dụng:
- INNER JOIN: Trả về tất cả các hàng khi có ít nhất một sự phù hợp trong CẢ HAI bảng
- LEFT JOIN: Trả về tất cả các hàng từ bảng trái, và các hàng phù hợp từ bảng phải
- RIGHT JOIN: Trả về tất cả các hàng từ bảng phải, và các hàng phù hợp từ bảng trái
- FULL JOIN: Trả về tất cả các hàng khi có một điều phù hợp trong MỘT của các bảng