Bài này hướng dẫn cách xài câu lệnh Inner Join trong SQL, cách nối 2 bảng và 3 bảng. Inner có nghĩa là bên trong, là phần nối, phần trùng của các bảng.

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.
Cơ sở dữ liệu demo
Ví dụ chúng ta 2 bảng như bên dưới: DonHang và KhachHang.
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 |
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 |
Ví dụ về Inner Join
Bây giờ chúng ta sẽ nối 2 bảng này lại bằng câu lệnh sau:

Trong đó:
– Dấu * nghĩa là lấy tất cả thông tin trong bảng.
– DonHang và KhachHang là 2 bảng nối với nhau.
– MaKH là cột sẽ nối.
Kết quả là:
SoDonHang | MaKH | NgayDatHang | MaCuaHang | TenKH | DiaChi | Quan | ThanhPho |
1000 | 1 | 2021-08-12 | SG01 | Lê Thị Ngọc Phúc | 4 Phạm Ngọc Thạch | Quan1 | TPHCM |
1001 | 2 | 2021-08-14 | CT02 | Trần Thanh Hương | 11 Mậu Thân | NinhKieu | Cần Thơ |
1002 | 3 | 2021-08-15 | SG04 | Đinh Thị Bích Liên | 32 Mạc Đĩnh Chi | Quan1 | Cần Thơ |
Inner Join 3 bảng
Join 3 bảng cũng tương tự, bạn chỉ cần mở đóng ngoặc rồi Inner Join tiếp thôi.
Như ví dụ bên dưới mình Inner Join thêm bảng CuaHang nữa:

Latest posts by Trần Thành (see all)
- [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