Left join trong MySQL cũng giống như Inner Join, có một điểu khác là nó sẽ lấy kết quả ở bên trái trong trường hợp bên phải không có dữ liệu phù hợp.
Giả sử cần join 2 bảng A và B thì:
- A join B: Trả về kết quả thỏa ở điều kiện ON.
- A Left join B: Trả về kết quả thỏa ở điều kiện ON và những record không thỏa ở bảng A.
Mình sẽ lấy một dữ liệu đơn giản như sau để thực hành trong bài, bạn sẽ dễ hiểu hơn lệnh LEFT JOIN này.
Mục lục
- 1. Dữ liệu thực hành Left Join MySQL
- 2. Cách sử dụng Join Left trong MySQL
1. Dữ liệu thực hành Left Join MySQL
Cho bảng Students có dữ liệu như sau:
Bài viết này được đăng tại tranvanbinh.vn
Bảng Class như sau:
Như bạn thấy, bảng students có một khóa ngoại class_id
trỏ đến bảng class.
Có một sinh viên tên là Duong Van Hoi không thuộc một lớp nào cả (vì class_id = 0). Bây giờ ta sẽ thực hiện một vài phép LEFT JOIN cơ bản.
2. Cách sử dụng Join Left trong MySQL
Bài toán 1: Lấy tất cả thông tin sinh viên và lớp mà sinh viên đó đang học.
1 2 | SELECT * FROM students JOIN class ON students.class_id = class.class_id |
Kết quả:
Trả về 2 kết quả là đúng, tai vì sinh viên thứ 2 có khóa ngoại class_id = 0 nên không thuộc một lớp nào cả.
Bài toán 2: Lấy tất cả thông tin sinh viên và lớp đang học, nếu không có học lớp nào cũng phải trả kết quả.
1 2 | SELECT * FROM students LEFT JOIN class ON students.class_id = class.class_id |
Kết quả:
Sinh viên Dương Van Hoi mặc dù không thuộc lớp nào nhưng vẫn được trả về.
Qua hai ví dụ trên thì chắc hẳn bạn đã hiểu được ý nghĩa của lệnh Left Join rồi phải không nào? Bài này mình sẽ dừng ở đây, bài tiếp theo ta sẽ nói về lệnh Right Join.
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội
=============================