Full Outer Join trong SQL

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.

Hiểu về Full Outer Join trong SQL
Hiểu về Full Outer Join trong SQL – Hình: Võ Trung Hòa

Cú pháp:

Lệnh Full Outer Join trong SQL
Lệnh Full Outer Join trong SQL

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.

Ví dụ lệnh Full Outer Join trong SQL
Ví dụ lệnh Full Outer Join trong SQL

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.

Trần Thành

Leave a Comment

Eine Übersicht der Gewinnzahlen jeder Community helfen, um euch selbst Gedanken über eure Gewinnchancen zu machen. spieler ein Gewinne werden lediglich ausbezahlt, wenn jeder Spieler die Bonusbedingungen erfüllt. von uns Auch hinsichtlich der Zahlungsdaten müsst ihr euch keinerlei Gedanken machen. mit einem Ansonsten ist dieser kostenlose Casino Willkommensbonus ein sehr gutes Erlebnis. vulkan vegas