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.
Mục lục
1. Câu lệnh Left join trong ngôn ngữ lập trình 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.
Một số điều lưu ý cần biết cơ bản về Left join trong SQL:
Khi dùng lệnh left join sql, kết quả trả về sẽ cộng gộp tất cả các giá trị của các hàng từ bảng bên trái vào bảng bên phải cộng với các giá trị được so khớp từ bảng bên phải, trường hợp không so khớp sẽ trả về NULL cho các hàng.
Cú pháp như sau:
SELECT bang1.cot1, bang2.cot2…FROM bang1LEFT JOIN bang2ON bang1.field_chung = bang2.field_chung;
Từ đó ta có ví dụ diễn giải bảng THONGTIN như sau:
ID | TEN | TUOI | MONHOC | HOCPHI |
01 | VIET | 20 | CNTT | 5.000.000 |
02 | HUY | 21 | TC | 4.500.000 |
03 | UYEN | 19 | KT | 3.000.000 |
04 | KHANH | 22 | QTKD | 3.500.000 |
05 | NHUNG | 23 | TCNK | 4.000.000 |
06 | QUYNH | 21 | TCDN | 3.500.000 |
Và bảng MUONSACH:
STT | TEN | NGAYMUON | SINHVIEN_ID | SOTIEN |
1001 | VIET | 18/5/2017 | 01 | 300 |
1002 | HUY | 19/5/2017 | 02 | 320 |
1003 | HUY | 19/5/2017 | 02 | 330 |
1004 | KHANH | 20/5/2017 | 04 | 400 |
1005 | NHUNG | 21/5/2017 | 05 | 500 |
Khi dùng sql left join tổng hợp hai bảng từ THONGTIN qua MUONSACH, ta có cấu trúc:
SQL> SELECT ID, TEN, SOTIEN, NGAYMUON FROM THONGTIN LEFT JOIN MUONSACH ON THONGTIN.ID = MUONSACH.SINHVIEN_ID;
Và kết quả sẽ là:
ID | TEN | SOTIEN | NGAYMUON |
01 | VIET | 300 | 18/5/2017 |
02 | HUY | 320 | 19/5/2017 |
02 | HUY | 330 | 19/5/2017 |
03 | UYEN | NULL | NULL |
04 | KHANH | 400 | 20/5/2017 |
05 | NHUNG | 500 | 21/5/2017 |
06 | QUYNH | NULL | NULL |
Một ví dụ về câu lệnh left join trong mySQL:
Câu lệnh của Left join trong mySQL được thực hiện như sau:
SELECT cot1, cot2,… cotn
FROM bang1
LEFT JOIN bang2
ON bang1.cot_chung = bang2.cot_chung;
Chú giải:
- cot1, cot2, … cotn: là những tên cột cần hiển thị ở kết quả truy vấn và được ngăn cách nhau bởi dấu phẩy (,)
- bang1, bang2: là tên các bảng chứa các dữ liệu để lấy khi truy vấn.
- cot_chung: là cột chứa khóa ngoại tham chiếu từ bang1 đến cột có được trong bang2 hoặc tên cột khóa ngoại tham chiếu từ bang2 đến cột có trong bang2.
3. Ví dụ về câu lệnh left join khi lập trình ngôn ngữ sql:
Để giúp các bạn dễ hiểu về lý thuyết như trên, dưới đây tôi sẽ đưa ra ví dụ sau: mối quan hệ trong hai bảng được chỉ định bởi customer_id khóa (là khóa chính trong bảng khách hàng và là khóa ngoại trong bảng đơn hàng. Nếu chúng ta chỉ muốn thông tin về các đơn đặt hàng vào bảng khách hàng bao gồm khách hàng đặt hàng hay không đặt hàng, chúng ta sẽ sử dụng một liên kết bên trái. Trong một bảng kết nối bên trái sẽ trả về tất cả các bảng ghi từ bảng 1 và bất kỳ bản ghi nào phù hợp từ bảng2. NULL sẽ là kết quả không phù hợp.
SELECT first_name, last name, order_date, order_amount
FROM khách hàng C
LEFT JOIN đơn hàng 0
ON C. customer_id = đơn hàng. ID khách hàng;
Chú ý: từ khóa left join trả về tất cả các bản ghi từ bảng bên trái (bảng khách hàng), ngay cả khi không có kết quả phù hợp với thông tin trong bảng bên phải (đơn hàng).
Bốn phép nối SQL cơ bản liên liên kết các phần dữ liệu khác nhau lại với nhau vì thế để lấy được dữ liệu từ cơ sở hay kho dữ liệu là rất khó. Nhưng khi ta có sự hiểu biết cơ bản về nó thì việc thực hiện này rất dễ và trong tầm tay.
SQL là ngôn ngữ truy vấn dữ liệu, nó được ra đời để hỗ trợ thêm cho web service. Hiện nay, nhiều doanh nghiệp dùng nhiều đến nó để quản trị nhân viên hoặc khách hàng của họ. Họ sử dụng cơ sở dữ liệu này để lưu trữ thông tin để bảo mật thông tin trong sự tuyệt đối tránh trường hợp rủi ro như bị mất hay sửa, xóa,… những thông tin.
Sử dụng SQL hiện đang phổ biến, có được sự hiểu biết hơn về ứng dụng này, sẽ giúp các bạn làm việc hiệu quả, nhanh chóng trong giải quyết công việc liên quan về công nghệ thông tin, máy tính cũng như tạo cơ hội thăng tiến trong công việc.
Hy vọng qua bài đọc này sẽ giúp các bạn có được nhiều thông tin, sự hiểu biết hơn về ứng dụng phổ biến này cũng như những thuật ngữ tin học hiện nay. Đặc biệt, giúp bạn thành thạo hơn trong việc truy vấn và sử dụng câu lệnh thật tốt. Cuối cùng, chúng tôi chúc các bạn học tốt và hoàn thành công việc hiệu quả.