Câu lệnh Full Outer Join trong SQL lấy tất cả dữ liệu của cả hai bảng. Nối với nhau và dòng nào không có giá trị thì hiện là null.
Cú pháp:
Trong đó:
– column_name là tên cột.
– table1 và table2 là 2 bảng mà bạn muốn nối với nhau.
– on là 2 cột ở 2 bảng mà bạn muốn nối.
Lưu ý: Full Outer Join và Full Join là một, giống hệt nhau.
Cơ sở dữ liệu demo
Ví dụ chúng ta có 2 bảng như bên dưới: KhachHang và DonHang.
Bảng KhachHang:
MaKH | TenKH | DiaChi | Quan | ThanhPho |
1 | Lê Thị Ngọc Phúc | 4 Phạm Ngọc Thạch | Quan1 | TPHCM |
2 | Trần Thanh Hương | 11 Mậu Thân | NinhKieu | Cần Thơ |
3 | Đinh Thị Bích Liên | 32 Mạc Đĩnh Chi | Quan1 | TPHCM |
4 | Nguyễn Phương Uyên | 137D Nguyễn Đình Chiểu | Quan3 | TPHCM |
Bảng DonHang:
SoDonHang | MaKH | MaNV | NgayDatHang | MaCuaHang |
1000 | 1 | 77 | 2021-08-12 | SG01 |
1001 | 2 | 78 | 2021-08-14 | CT02 |
1002 | 3 | 79 | 2021-08-15 | SG04 |
1003 | 57 | 77 | 2021-08-15 | SG1 |
Ví dụ về Full Outer Join
Bây giờ chúng ta sẽ nối 2 bảng này lại, và lấy cột MaKH làm gốc. Nó sẽ lấy toàn bộ 2 bảng này lại, dòng nào không có giá trị thì nó hiện null.
Trong đó:
– Dấu * nghĩa là lấy tất cả thông tin trong bảng.
– KhachHang và DonHang và là 2 bảng nối với nhau.
– MaKH là cột làm gốc để đối chiếu 2 bảng.
Kết quả là:
MaKH | TenKH | DiaChi | Quan | ThanhPho | SoDonHang | MaKH | MaNV | NgayDatHang | MaCuaHang |
1 | Lê Thị Ngọc Phúc | 4 Phạm Ngọc Thạch | Quan1 | TPHCM | 1001 | 1 | 77 | 2021-08-12 | SG01 |
2 | Trần Thanh Hương | 11 Mậu Thân | NinhKieu | Cần Thơ | 1001 | 2 | 78 | 2021-08-14 | CT02 |
3 | Đinh Thị Bích Liên | 32 Mạc Đĩnh Chi | Quan1 | TPHCM | 1003 | 3 | 79 | 2021-08-15 | SG04 |
4 | Nguyễn Phương Uyên | 137D Nguyễn Đình Chiểu | Quan3 | TPHCM | NULL | NULL | NULL | NULL | NULL |
NULL | NULL | NULL | NULL | NULL | 1003 | 57 | 77 | 2021-08-15 | SG1 |
Có khách không mua gì cả (không có đơn hàng), nên các thông tin đơn hàng của khách này đều hiện null.
Có khách mua hàng nhưng không cho biết thông tin (không có thông tin khách hàng), nên các thông tin khách hàng của đơn hàng này đều hiện null.
- [Hỏi đáp] PC Gaming đang chơi thì bị đơ, chớp, sọc dưa màn hình - 04/10/2024
- Bảng xếp hạng card đồ họa - 30/09/2024
- AMD hay NVIDIA? Nên chọn card nào để build PC Gaming? - 30/09/2024