Chìa khóa FULL JOIN trong SQL
- Trang trước Right Join SQL
- Trang tiếp theo Union SQL
Chìa khóa FULL JOIN trong SQL
Chỉ cần một trong các bảng có khớp, từ khóa FULL JOIN sẽ trả về dòng.
FULL JOIN từ khóa ngữ pháp
SELECT column_name(s) FROM table_name1 FULL JOIN table_name2 ON table_name1.column_name=table_name2.column_name
Chú thích:Trong một số cơ sở dữ liệu, FULL JOIN được gọi là FULL OUTER JOIN.
Bảng gốc (sử dụng trong ví dụ):
Bảng "Persons":
Id_P | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Adams | John | Oxford Street | London |
2 | Bush | George | Fifth Avenue | New York |
3 | Carter | Thomas | Changan Street | Beijing |
Bảng "Orders":
Id_O | OrderNo | Id_P |
---|---|---|
1 | 77895 | 3 |
2 | 44678 | 3 |
3 | 22456 | 1 |
4 | 24562 | 1 |
5 | 34764 | 65 |
Mô hình FULL JOIN
Bây giờ, chúng ta muốn liệt kê tất cả mọi người, cũng như các đơn hàng của họ, cũng như tất cả các đơn hàng, cũng như những người đặt hàng.
Bạn có thể sử dụng câu lệnh SELECT dưới đây:
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons FULL JOIN Orders ON Persons.Id_P=Orders.Id_P ORDER BY Persons.LastName
Kết quả tập hợp:
LastName | FirstName | OrderNo |
---|---|---|
Adams | John | 22456 |
Adams | John | 24562 |
Carter | Thomas | 77895 |
Carter | Thomas | 44678 |
Bush | George | |
34764 |
Khóa từ FULL JOIN sẽ trả về tất cả các hàng từ bảng bên trái (Persons) và bảng bên phải (Orders). Nếu hàng trong "Persons" không có khớp trong bảng "Orders", hoặc nếu hàng trong "Orders" không có khớp trong bảng "Persons", các hàng này cũng sẽ được liệt kê.
- Trang trước Right Join SQL
- Trang tiếp theo Union SQL