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.
- Pan HP folio 9470p kích lúc lên lúc không - 15/03/2024
- Dell 3421 không kích được nguồn - 14/03/2024
- Chia sẻ pan mất nguồn đầu vào trên Lenovo S410 - 13/03/2024