LEFT JOIN Trong SQL | Lập Trình Từ Đầu
Có thể bạn quan tâm
LEFT JOIN là dạng mệnh đề trong SQL thuộc kiểu JOIN. Mệnh đề LEFT JOIN sẽ trả về tất cả bản ghi bên phía bảng 1 hay còn gọi là bảng bên trái và những bản ghi phù hợp ở bảng 2 hay còn gọi là bảng bên phải. Nếu như trong mệnh đề ON không trùng với bản ghi nào ở bảng bên phải thì LEFT JOIN sẽ vẫn trả về kết quả cho bản ghi đó tuy nhiên kết quả này sẽ là NULL. Hình ảnh dưới đây minh họa mệnh đề LEFT JOIN giữa 2 bảng với nhau:
Nhận xét từ biểu đồ venn ở trên, ta thấy rằng mệnh đề LEFT JOIN sẽ là tất cả các giá trị có trong bảng 1 cộng với các giá trị giao giữa 2 bảng. Hay có thể hiểu rằng tất cả giá trị ở bảng 1 và các giá trị chung của cả 2 bảng.
Cú pháp của mệnh đề LEFT JOIN như sau:
SELECT table1.column1,table1.column2,table2.column1,.... FROM table1 LEFT JOIN table2 ON table1.matching_column = table2.matching_column;Trong đó:
- table1 là bảng đầu tiên
- table2 là bảng thứ hai
- matching_column là cột chung cho cả 2 bảng
Chú ý: Chúng ta cũng có thể sử dụng LEFT OUTER JOIN thay vì LEFT JOIN, hai cách gọi trên đều được hiểu giống nhau, tuy nhiên một số cơ sở dữ liệu sẽ gọi là LEFT OUTER JOIN.
2. Ví dụ LEFT JOINTrong ví dụ đơn giản này, tôi sẽ sử dụng 2 bảng. Bảng đầu tiên có tên bảng là KhachHang bao gồm các cột đó là: KhachHang_ID,Ho,Ten,Tuoi bảng này sẽ trông như sau:
KhachHang_ID | Ho | Ten | Tuoi |
1 | Chu | Minh Nam | 20 |
2 | Nguyễn | Trí Thành | 19 |
3 | Phùng | Thái Sơn | 20 |
4 | Chu | Quang Huy | 18 |
Bảng tiếp theo trong ví dụ này sẽ có tên DatHang trong bảng này sẽ có các cột là: MaDH, SoLuong, KhachHang_ID như bên dưới:
MaDH | SoLuong | KhachHang_ID |
1 | 123 | 3 |
2 | 345 | 3 |
3 | 567 | 2 |
4 | 789 | 1 |
Câu lệnh SQL dưới đây sẽ được sử dụng để lấy ra tất cả tên của khách hàng từ cột Ten của bảng KhachHang và lấy ra tất cả mã đặt hàng từ cột MaDH của bảng DatHang mà những khách hàng có thể có.
Nếu ở bảng bên trái KhachHang không có mã đặt hàng (MaDH) nào tồn tại ở bảng bên phải DatHang thì giá trị sẽ là NULL. Câu lệnh có sử dụng mệnh đề LEFT JOIN như sau:
SELECT KhachHang.Ten, DatHang.MaDH FROM KhachHang LEFT JOIN DatHang ON KhachHang.KhachHang_ID=DatHang.KhachHang_ID ORDER BY KhachHang.Ten;Kết quả:
Ten | MaDH |
Minh Nam | 4 |
Quang Huy | NULL |
Thái Sơn | 1 |
Thái Sơn | 2 |
Trí Thành | 3 |
Chú ý: Các mệnh đề LEFT JOIN sẽ trả về tất cả các bản ghi từ bảng bên trái KhachHang, ngay cả khi không tìm thấy các giá trị chung ở cột KhachHang_ID ở bảng bên phải DatHang
Từ khóa » Câu Lệnh Left Join Trong Sql
-
LEFT JOIN Trong SQL
-
Left Join Trong SQL - Học SQL Online - Viettuts
-
Truy Vấn Nhiều Bảng Với JOIN Trong SQL
-
LEFT JOIN Trong SQL Server
-
Left Join Trong SQL
-
Cú Pháp Mệnh đề Left Join Trong Sql - GreenSQL
-
Câu Lệnh SQL Join: Các Loại Join Trong SQL - Viblo
-
LEFT JOIN Trong SQL
-
SQL LEFT JOIN Keyword - W3Schools
-
Chi Tiết Bài Học 03. Left JOIN Và Right JOIN - Vimentor
-
Học SQL 25. Hiểu Rõ Các Câu Lệnh INNER JOIN, LEFT ... - YouTube
-
Từ Khóa LEFT JOIN Trong SQL
-
Ghép Bảng Bằng Mệnh đề LEFT JOIN Trong MySQL - Web Cơ Bản
-
Cú Pháp Mệnh đề Left Join Trong SQL - ATP Web