Câu lệnh Left Join trong SQL lấy tất cả dữ liệu bảng bên trái, sau đó đối chiếu và lấy dữ liệu tương ứng ở bảng bên phải. Nếu không có thì kết quả 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 ý: Trong một số Database, Left Join được gọi là Left Outer Join.
Cơ sở dữ liệu demo
Ví dụ chúng ta 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 |
Bảng DonHang:
SoDonHang | MaKH | NgayDatHang | MaCuaHang |
1000 | 1 | 2021-08-12 | SG01 |
1001 | 2 | 2021-08-14 | CT02 |
1002 | 3 | 2021-08-15 | SG04 |
Ví dụ về Left Join
Bây giờ chúng ta sẽ nối 2 bảng này lại, và lấy cột MaKhachHang ở bảng KhachHang làm gốc. Nó sẽ lấy toàn bộ bảng KhachHang nối với các giá trị tương ứng (dò theo cột MaKhachHang) ở bảng DonHang.

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 | NgayDatHang | MaCuaHang |
1 | Lê Thị Ngọc Phúc | 4 Phạm Ngọc Thạch | Quan1 | TPHCM | 1000 | 2021-08-12 | SG01 |
2 | Trần Thanh Hương | 11 Mậu Thân | NinhKieu | Cần Thơ | 1001 | 2021-08-14 | CT02 |
3 | Đinh Thị Bích Liên | 32 Mạc Đĩnh Chi | Quan1 | Cần Thơ | 1002 | 2021-08-15 | SG04 |
Cả hai bảng này đều có đủ giá trị nên nó không hiện null. Chứ nếu bảng DonHang mà có giá trị nào trống thì nó sẽ 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
Leave a Reply