Tham gia MySQL
Bảng tham gia MySQL
Mệnh đề JOIN
đượ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 xét 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 đó, xem xét 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 hàng" đề cập đến "CustomerID" trong bảng "Khách hàng". Mối quan hệ giữa hai bảng trên là cột "CustomerID".
Sau đó, chúng ta có thể tạo câu lệnh SQL sau (có chứa INNER JOIN
), để chọn các bản ghi có giá trị khớp nhau trong cả hai bảng:
Ví dụ
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;
Hãy tự mình thử »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 kết nối được hỗ trợ trong MySQL
-
INNER JOIN
: Trả về các bản ghi có giá trị trùng khớp trong cả hai bảng -
LEFT JOIN
: Trả về tất cả các bản ghi từ bảng bên trái và các bản ghi trùng khớp từ bảng bên phải -
RIGHT JOIN
: Trả về tất cả các bản ghi từ bảng bên phải và các bản ghi trùng khớp từ bảng bên trái -
CROSS JOIN
: Trả về tất cả bản ghi từ cả hai bảng