SQL tham gia
THAM GIA SQL
Một JOIN
mệnh đề được sử dụng để kết hợp các hàng từ hai hoặc nhiều bảng, dựa trên một cột có liên quan giữa chúng.
Hãy xem một lựa chọn từ bảng "Đơn hàng":
OrderID | CustomerID | OrderDate |
---|---|---|
10308 | 2 | 1996-09-18 |
10309 | 37 | 1996-09-19 |
10310 | 77 | 1996-09-20 |
Sau đó, hãy xem lựa chọn từ bảng "Khách hàng":
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 ý rằng cột "CustomerID" trong bảng "Đơn đặt hàng" tham chiếu đến "CustomerID" trong bảng "Khách hàng". Mối quan hệ giữa hai bảng trên là cột "ID khách hàng".
Sau đó, chúng ta có thể tạo câu lệnh SQL sau (có chứa một
INNER JOIN
), chọn các bản ghi có giá trị phù hợp trong cả hai bảng:
Thí dụ
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;
và nó sẽ tạo ra một cái gì đó 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 loại SQL JOINs khác nhau
Dưới đây là các kiểu khác nhau của JOIN trong SQL:
(INNER) JOIN
: Trả về các bản ghi có giá trị phù hợp trong cả hai bảngLEFT (OUTER) JOIN
: Trả về tất cả các bản ghi từ bảng bên trái và các bản ghi phù hợp từ bảng bên phảiRIGHT (OUTER) JOIN
: Trả về tất cả các bản ghi từ bảng bên phải và các bản ghi phù hợp từ bảng bên tráiFULL (OUTER) JOIN
: Trả về tất cả các bản ghi khi có một kết quả phù hợp trong bảng bên trái hoặc bên phải