SQL
SELECT columns
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name;
2 nối hai bảng dựa trên một cột chung và chọn các bản ghi có giá trị khớp trong các cột này và các hàng còn lại từ cả hai bảngSELECT Customers.customer_id, Customers.first_name, Orders.amount
FROM Customers
FULL OUTER JOIN Orders
ON Customers.customer_id = Orders.customer;
Đây là cách mã này hoạt động
Ở đây, lệnh SQL chọn cột customer_id và first_name [từ bảng Khách hàng] và cột số tiền [từ bảng Đơn hàng]
Và, tập kết quả sẽ chứa các hàng có sự khớp giữa customer_id [của bảng Khách hàng] và khách hàng [của bảng Đơn hàng] cùng với tất cả các hàng còn lại từ cả hai bảng
Cú pháp FULL OUTER JOIN
Cú pháp của
SELECT columns
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name;
2 làSELECT columns
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name;
FULL OUTER THAM GIA Với Mệnh đề WHERE
Lệnh SQL có thể có mệnh đề WHERE tùy chọn với câu lệnh
SELECT columns
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name;
2. Ví dụ,SELECT Customers.customer_id, Customers.first_name, Orders.amount
FROM Customers
FULL OUTER JOIN Orders
ON Customers.customer_id = Orders.customer
WHERE Orders.amount >= 500;
Ở đây, lệnh SQL nối hai bảng và chọn các hàng có số tiền lớn hơn hoặc bằng 500
SQL FULL OUTER JOIN với bí danh AS
Chúng tôi có thể sử dụng bí danh AS bên trong
SELECT columns
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name;
2 để làm cho đoạn trích của chúng tôi ngắn gọn và rõ ràng. Ví dụ,SELECT C.cat_name, P.prod_title
FROM Category AS C
FULL OUTER JOIN Products AS P
ON C.cat_id= P.cat_id;
Ở đây, lệnh SQL chọn các hàng chung giữa bảng Danh mục và Sản phẩm
Tham gia đầy đủ bên ngoài so với tham gia khác
Chúng ta cũng có thể sử dụng
SELECT columns
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name;
6 thay vì SELECT columns
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name;
2. Về cơ bản 2 mệnh đề này giống nhauĐiều đó có nghĩa là,
SELECT Customers.customer_id, Customers.first_name, Orders.amount
FROM Customers
FULL OUTER JOIN Orders
ON Customers.customer_id = Orders.customer;
tương tự như
SELECT Customers.customer_id, Customers.first_name, Orders.amount
FROM Customers
FULL OUTER JOIN Orders
ON Customers.customer_id = Orders.customer;
1SELECT columns
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name;
2 chọn các hàng chung cũng như tất cả các hàng còn lại từ cả hai bảng. Trong khi đó, SELECT Customers.customer_id, Customers.first_name, Orders.amount
FROM Customers
FULL OUTER JOIN Orders
ON Customers.customer_id = Orders.customer
WHERE Orders.amount >= 500;
3 chọn các hàng phổ biến cũng như tất cả các hàng còn lại từ bảng bên phải Hướng dẫn MySQL này giải thích cách sử dụng MySQL THAM GIA [bên trong và bên ngoài] với cú pháp, minh họa trực quan và ví dụ
Sự mô tả
MySQL THAM GIA được sử dụng để lấy dữ liệu từ nhiều bảng. THAM GIA MySQL được thực hiện bất cứ khi nào hai hoặc nhiều bảng được nối trong một câu lệnh SQL
Có nhiều kiểu kết nối MySQL khác nhau
- MySQL INNER THAM GIA [hoặc đôi khi được gọi là tham gia đơn giản]
- MySQL LEFT OUTER JOIN [hoặc đôi khi được gọi là LEFT JOIN]
- MySQL RIGHT OUTER JOIN [hoặc đôi khi được gọi là RIGHT JOIN]
Vì vậy, hãy thảo luận về cú pháp THAM GIA của MySQL, xem các minh họa trực quan về THAM GIA của MySQL và khám phá các ví dụ về THAM GIA của MySQL
INNER THAM GIA [tham gia đơn giản]
Rất có thể, bạn đã viết một câu lệnh sử dụng MySQL INNER JOIN. Đây là kiểu nối phổ biến nhất. MySQL INNER THAM GIA trả về tất cả các hàng từ nhiều bảng khi điều kiện tham gia được đáp ứng
cú pháp
Cú pháp cho INNER THAM GIA trong MySQL là
SELECT Customers.customer_id, Customers.first_name, Orders.amount
FROM Customers
FULL OUTER JOIN Orders
ON Customers.customer_id = Orders.customer;
4Minh họa trực quan
Trong sơ đồ trực quan này, MySQL INNER JOIN trả về vùng được tô bóng
MySQL INNER JOIN sẽ trả về các bản ghi nơi bảng1 và bảng2 giao nhau
Thí dụ
Đây là một ví dụ về MySQL INNER THAM GIA
SELECT Customers.customer_id, Customers.first_name, Orders.amount
FROM Customers
FULL OUTER JOIN Orders
ON Customers.customer_id = Orders.customer;
5Ví dụ MySQL INNER JOIN này sẽ trả về tất cả các hàng từ bảng nhà cung cấp và đơn đặt hàng có giá trị nhà cung cấp_id phù hợp trong cả bảng nhà cung cấp và đơn đặt hàng
Hãy xem xét một số dữ liệu để giải thích cách hoạt động của INNER JOINS
Chúng tôi có một bảng được gọi là nhà cung cấp với hai trường [nhà cung cấp_id và nhà cung cấp_name]. Nó chứa các dữ liệu sau
nhà cung cấp_idsupplier_name10000IBM10001Hewlett Packard10002Microsoft10003NVIDIA
Chúng tôi có một bảng khác gọi là đơn đặt hàng với ba trường [order_id, nhà cung cấp_id và order_date]. Nó chứa các dữ liệu sau
order_idsupplier_idorder_date500125100002013/05/12500126100012013/05/13500127100042013/05/14
Nếu chúng ta chạy câu lệnh MySQL SELECT [có chứa INNER JOIN] bên dưới
SELECT Customers.customer_id, Customers.first_name, Orders.amount
FROM Customers
FULL OUTER JOIN Orders
ON Customers.customer_id = Orders.customer;
6Tập kết quả của chúng tôi sẽ trông như thế này
nhà cung cấp_idnameorder_date10000IBM2013/05/1210001Hewlett Packard2013/05/13
Các hàng dành cho Microsoft và NVIDIA từ bảng nhà cung cấp sẽ bị bỏ qua, vì 10002 và 10003 của nhà cung cấp không tồn tại trong cả hai bảng. Hàng cho 500127 [order_id] sẽ được bao gồm vì RIGHT OUTER JOIN đã được sử dụng. Tuy nhiên, bạn sẽ nhận thấy rằng trường supply_name cho bản ghi đó chứa một giá trị