Giới Thiệu về SQL Left Join
SQL (Structured Query Language) là một ngôn ngữ lập trình được sử dụng để quản lý và tương tác với cơ sở dữ liệu. Trong SQL, các phép nối (Join) cho phép chúng ta kết hợp dữ liệu từ hai hay nhiều bảng dựa trên mối quan hệ giữa chúng. Một trong những loại phép nối phổ biến nhất là Left Join.
Định Nghĩa Left Join
Left Join, hay còn gọi là Left Outer Join, là phép nối giữa hai bảng trong SQL, trong đó tất cả các bản ghi từ bảng bên trái (left table) được giữ lại, ngay cả khi không có bản ghi tương ứng nào trong bảng bên phải (right table). Nếu không có bản ghi tương ứng trong bảng bên phải, các trường trong bảng bên phải sẽ được điền bằng giá trị NULL.
Cú Pháp của Left Join
SELECT column1, column2, ... FROM table1 LEFT JOIN table2 ON table1.common_column = table2.common_column;
Ví Dụ Minh Họa
Giả sử chúng ta có hai bảng như sau:
1. Customers +----+----------+ | ID | Name | +----+----------+ | 1 | Alice | | 2 | Bob | | 3 | Charlie | +----+----------+ 2. Orders +----+----------+---------+ | ID | OrderID | Cust_ID | +----+----------+---------+ | 1 | 101 | 1 | | 2 | 102 | 1 | | 3 | 103 | 2 | +----+----------+---------+
Chúng ta muốn lấy danh sách tất cả khách hàng cùng với đơn hàng của họ (nếu có). Ta có thể sử dụng Left Join như sau:
SELECT Customers.ID, Customers.Name, Orders.OrderID FROM Customers LEFT JOIN Orders ON Customers.ID = Orders.Cust_ID;
Kết quả của truy vấn này sẽ là:
+----+----------+----------+ | ID | Name | OrderID | +----+----------+----------+ | 1 | Alice | 101 | | 1 | Alice | 102 | | 2 | Bob | 103 | | 3 | Charlie | NULL | +----+----------+----------+
Trong kết quả trên:
- Khách hàng Alice có hai đơn hàng (101, 102).
- Khách hàng Bob có một đơn hàng (103).
- Khách hàng Charlie không có đơn hàng nào, do đó trường OrderID của anh ta là NULL.
Kết Luận
Left Join là công cụ mạnh mẽ trong SQL cho phép chúng ta truy xuất dữ liệu từ hai bảng với điều kiện giữ lại tất cả các bản ghi từ bảng bên trái, ngay cả khi không tìm thấy bản ghi tương ứng trong bảng bên phải. Hy vọng qua bài viết này, bạn sẽ hiểu rõ hơn về cách sử dụng Left Join trong SQL.