Mục lục

Cú pháp mệnh đề Left Join trong SQL

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.

Cú pháp mệnh đề Left Join trong SQL

Cú pháp mệnh đề Left Join trong SQL

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.

Cú pháp mệnh đề Left Join trong SQL
Cú pháp mệnh đề Left Join trong SQL

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ú pháp mệnh đề Left Join trong SQL
Cú pháp mệnh đề Left Join trong SQL

(Nguồn: Tổng hợp)

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é!

ATPWEB – XÂY DỰNG NGÔI NHÀ ONLINE

Liên hệ:

Đánh giá bài viết post

Leave a Comment

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

LIÊN HỆ TƯ VẤN

Thiết Kế Web
BLOG
Đăng ký tư vấn
Thiết kế website
Đồng hành cùng ATP WEB

Đăng ký tư vấn Thiết kế website