MySQL tham gia
Bảng tham gia MySQL
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 tham gia được hỗ trợ trong MySQL
INNER JOIN
: Trả về các bản ghi có giá trị phù hợp trong cả hai bảngLEFT 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 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áiCROSS JOIN
: Trả về tất cả các bản ghi từ cả hai bảng