Cú pháp mệnh đề Left Join trong SQL là gì? Nếu ai đã quen với hàng tá thông tin được trả về và cần phải xử lý hằng ngày trên máy tính thì không xa lạ gì đối với SQL. SQL là ngôn ngữ truy vấn mang tính cấu trúc, khá đơn giản và được sử dụng phổ biến trong hệ quản trị CSDL quan hệ.
Đối với những ai không có thời gian học thêm, tìm tòi những ứng dụng trong ngôn ngữ mới thì có thể dùng SQL cho các thao tác dữ liệu trên máy, vừa hiệu quả, nhanh chóng lại tiện dụng, đặc biệt không cần nhớ cấu trúc thuật toán, vẫn có thể thực hiện dễ dàng.
Câu lệnh Left join trong SQL là gì?
Left join là một trong những câu lệnh phổ biến, thường gặp đối với ngôn ngữ SQL. Ngôn ngữ chung mà bất cứ hệ thống cơ sở dữ liệu quan hệ nào cũng cần có.
Join được hiểu là một mệnh đề trong SQL. Sử dụng để kết nối từ hai hay nhiều bảng trong cơ sở dữ liệu với nhau. Khi bạn muốn tìm các cột dữ liệu từ nhiều bảng khác nhau để trả về trong cùng một kết quả thì bạn cần dùng Join và SQL sẽ đưa ra một bảng có kết quả dữ liệu tạm thời từ JOIN.
Từ đó định nghĩa của JOIN, ta có thể hiểu left join trong sql là kiểu Join trả về tất cả các giá trị từ bảng bên trái, công với các giá trị trong bảng bên phải, ngay cả khi không có giá trị so khớp nào trong bảng bên phải. Nếu không có dữ liệu sẽ là NULL.
LEFT JOIN trong SQL là kiểu JOIN trả về tất cả các bản ghi từ bảng bên trái (bảng 1) và các bản ghi phù hợp từ bảng bên phải (bảng 2). Nếu mệnh đề ON không khớp với bản ghi nào trong bảng bên phải thì LEFT JOIN sẽ vẫn trả về một hàng trong kết quả, nhưng giá trị là NULL trong mỗi cột từ bảng bên phải.
Điều này nghĩa là LEFT JOIN trả về tất cả giá trị từ bảng bên trái, cộng với các giá trị phù hợp từ bảng bên phải hoặc NULL trong trường hợp không có giá trị phù hợp nào.
Cú pháp cơ bản của LEFT JOIN
SELECT cot1, cot2,… cotn
FROM bang1
LEFT JOIN bang2
ON bang1.cot_chung = bang2.cot_chung;
Tham số:
cot1, cot2,… cotn: tên các cột cần hiển thị ở kết quả truy vấn. Các cot được ngăn cách với nhau bằng dấu phẩy (,)
bang1, bang2: tên các bảng để lấy dữ liệu khi truy vấn.
cot_chung: thường là tên cột khóa ngoại tham chiếu từ bang1 đến cột định danh trong bang2 hoặc ngược lại.
Ví dụ về LEFT JOIN trong SQL
Giả sử hai bảng là NHANVIEN và TIENTHUONG có các bản ghi sau:
Bảng 1: NHANVIEN
+—-+———-+—–+———–+———-+
| ID | TEN |TUOI | DIACHI | LUONG |
+—-+———-+—–+———–+———-+
| 1 | Thanh | 32 | Haiphong | 2000.00 |
| 2 | Loan | 25 | Hanoi | 1500.00 |
| 3 | Nga | 23 | Hanam | 2000.00 |
| 4 | Manh | 25 | Hue | 6500.00 |
| 5 | Huy | 27 | Hatinh | 8500.00 |
| 6 | Cao | 22 | HCM | 4500.00 |
| 7 | Lam | 24 | Hanoi | 10000.00 |
+—-+———-+—–+———–+———-+
Bảng 2: TIENTHUONG
+—–+———————+————-+——–+
|TT_ID| NGAY | NHANVIEN_ID | SOTIEN |
+—–+———————+————-+——–+
| 102 | 2019-01-08 00:00:00 | 3 | 3000 |
| 100 | 2019-01-08 00:00:00 | 3 | 1500 |
| 101 | 2019-02-20 00:00:00 | 2 | 1560 |
| 103 | 2018-12-20 00:00:00 | 4 | 2060 |
+—–+———————+————-+——–+
Bây giờ, chúng ta hãy join hai bảng này bằng cách sử dụng LEFT JOIN như sau:
SQL> SELECT ID, TEN, SOTIEN, NGAYFROM NHANVIENLEFT JOIN TIENTHUONGON NHANVIEN.ID = TIENTHUONG.NHANVIEN_ID;
Kết quả trả về là:
+—-+———-+——–+———————+
| ID | TEN | SOTIEN | NGAY |
+—-+———-+——–+———————+
| 1 | Thanh | NULL | NULL |
| 2 | Loan | 1560 | 2019-02-20 00:00:00 |
| 3 | Nga | 3000 | 2019-01-08 00:00:00 |
| 3 | Nga | 1500 | 2019-01-08 00:00:00 |
| 4 | Manh | 2060 | 2018-12-20 00:00:00 |
| 5 | Huy | NULL | NULL |
| 6 | Cao | NULL | NULL |
| 7 | Lam | NULL | NULL |
+—-+———-+——–+———————+
Các tiện ích nổi bật của dịch vụ Thiết Kế Website Bán Hàng trọn gói tại ATPWeb:
- Website bán hàng ATPWeb giúp tối ưu hiệu quả SEO: Giúp bạn có một Website chuẩn SEO, khách hàng có thể tìm bạn trên Google một cách dễ dàng nhất.
- 500+ giao diện Responsive đẹp mắt, tùy biến cao: Giúp bạn có một Website thân thiện, dù là bất cứ thiết bị nào Website sẽ cho họ một trải nghiệm mua hàng hấp dẫn.
- Website tốc độ cao và băng thông không giới hạn: Giúp bạn có một Website tốc độ cao, khách hàng của bạn sẽ được trải nghiệm tốc độ load của một trang báo.
- Dịch vụ cài đặt dễ dàng và nhanh chóng.
- Tiết kiệm chi phí: Khi sử dụng dịch vụ thiết kế web trọn gói của ATPWeb bạn sẽ nhận được nhiều ưu đãi như:Kho bài viết, tài liệu, cẩm nang và khóa học miễn phí, khuyến mãi tùy theo từng gói dịch vụ, miễn phí các dịch vụ phát sinh và nhiều lợi ích khác.
- An toàn, bảo mật tuyệt đối: Website của bạn sẽ được được bảo vệ tuyệt đối với hàng rào “https://” và “SSL” tiêu chuẩn quốc tế giúp tránh được sự tấn công của virus, hacker.
- Hỗ trợ tư vấn Marketing & bán hàng: Cung cấp cho Khách hàng những tư duy, kiến thức về Marketing và cách kinh doanh ngay trên Website.
Hy vọng rằng bài viết trên đã giúp các bạn biết thêm nhiều kiến thức hữu ích.
Nếu như bạn đang có nhu cầu xây dựng một Website phù hợp với thương hiệu của mình, nhưng vẫn chưa tìm được giải pháp tối ưu nhất thì hãy liên hệ ngay với chúng tôi trong hôm nay để được tư vấn miễn phí nhé!
THÔNG TIN LIÊN HỆ
- Website: https://phanmematp.vn/
- Youtube: ATP Software
- Group hỗ trợ: ATP Support – Tư Vấn và Hỗ Trợ khách hàng
- Fanpage: ATP Holdings – Giải pháp hỗ trợ doanh nghiệp