Trang chủ » MySQL » Left Join trong MySQL

MySQL

Left Join trong MySQL

24/12/2023

Left Join là một trong những loại kết nối (join) phổ biến trong MySQL, được sử dụng để kết hợp các hàng từ hai hoặc nhiều bảng dựa trên điều kiện kết nối, và bảo toàn tất cả các hàng từ bảng ở phía trái (left-hand table) ngay cả khi không có hàng tương ứng từ bảng ở phía phải (right-hand table). Điều này có nghĩa là kết quả của Left Join sẽ bao gồm tất cả các hàng từ bảng ở phía trái và các hàng tương ứng từ bảng ở phía phải. Nếu không có sự tương ứng, các cột từ bảng ở phía phải sẽ được điền đầy giá trị NULL.

Cú pháp

Dưới đây là cú pháp cơ bản của Left Join trong MySQL:

SELECT columns
FROM left_table
LEFT JOIN right_table ON left_table.column = right_table.column;

Trong đó:

  • columns: Các cột bạn muốn chọn từ cả hai bảng.
  • left_table: Bảng ở phía trái của Left Join.
  • right_table: Bảng ở phía phải của Left Join.
  • left_table.column = right_table.column: Điều kiện kết nối.

Ví dụ:

Giả sử bạn có hai bảng: orderscustomers. Bạn muốn lấy thông tin về tất cả các đơn đặt hàng cùng với tên khách hàng (nếu có). Dưới đây là câu lệnh SQL sử dụng Left Join:

SELECT orders.order_id, orders.order_date, customers.customer_name
FROM orders
LEFT JOIN customers ON orders.customer_id = customers.customer_id;

Trong ví dụ này, orders là bảng ở phía trái, và customers là bảng ở phía phải. Câu lệnh Left Join sử dụng điều kiện orders.customer_id = customers.customer_id để kết hợp các hàng dựa trên ID khách hàng. Kết quả sẽ bao gồm tất cả các đơn đặt hàng, và nếu có tương ứng, tên khách hàng sẽ được hiển thị; nếu không, cột customer_name sẽ chứa giá trị NULL.

Thêm điều kiện trong Left Join:

Bạn cũng có thể thêm điều kiện bổ sung trong phần WHERE để lọc kết quả của Left Join:

SELECT orders.order_id, orders.order_date, customers.customer_name
FROM orders
LEFT JOIN customers ON orders.customer_id = customers.customer_id
WHERE orders.order_date >= '2022-01-01';

Trong trường hợp này, chỉ các đơn đặt hàng sau ngày '2022-01-01' sẽ được hiển thị trong kết quả.

Left Join là một công cụ mạnh mẽ trong SQL để kết hợp dữ liệu từ nhiều bảng và bảo toàn tất cả các hàng từ bảng ở phía trái, ngay cả khi không có sự tương ứng trong bảng ở phía phải.

 

 

 

Bài viết liên quan


Trong quá trình học tập và làm việc, nhiều khi chúng ta thêm dữ liệu từ file Excel, trong quá trình thao tác có thể có các bản ghi bị trùng và các bạn muốn tìm kiếm và xóa các bản ghi trùng lặp đó đi, thì các bạn có thể theo dõi bài viết sau của SoftVietDesign.com các bạn nhé.
Có nhiều loại dữ liệu khác nhau được hỗ trợ trong MySQL. Trong số đó đôi khi chúng ta cần dùng đến kiểu dữ liệu DATE để lưu trữ giá trị dữ liệu. Kiểu dữ liệu DATE được sử dụng cho các giá trị có phần ngày nhưng không có phần thời gian.

22:38 . 10/01/2024

Hàm WEEKDAY() trong MySQL được sử dụng để tìm giá trị ngày trong tuần cho một ngày cụ thể. Nếu ngày là NULL thì hàm WEEKDAY() sẽ trả về NULL. Ngược lại, nó trả về chỉ mục cho một ngày, tức là 0 cho Thứ Hai, 1 cho Thứ Ba,... 6 cho Chủ Nhật.

22:38 . 30/12/2023

Hàm SEC_TO_TIME() trong MySQL được sử dụng để chuyển đổi một giá trị thời gian (trong đơn vị giây) thành dạng chuỗi thời gian.

22:33 . 30/12/2023

Hàm YEARWEEK() trong MySQL được sử dụng để trả về một số nguyên đại diện cho tuần trong năm, dựa trên một giá trị ngày hoặc ngày/tháng cung cấp

22:30 . 30/12/2023

Hàm YEAR() trong MySQL được sử dụng để trích xuất phần năm từ một giá trị ngày hoặc ngày/tháng

22:10 . 30/12/2023

Hàm LTRIM() trong MySQL được sử dụng để loại bỏ các ký tự khoảng trắng từ phía bên trái (bắt đầu) của một chuỗi ký tự.

22:03 . 30/12/2023

Hàm DAYOFWEEK() trong MySQL được sử dụng để trả về một số nguyên đại diện cho ngày trong tuần (từ 1 đến 7), với Chủ nhật là ngày đầu tiên (1) và Thứ Bảy là ngày cuối cùng (7).

09:01 . 30/12/2023

Hàm DATE_SUB() trong MySQL được sử dụng để trừ một khoảng thời gian cụ thể từ một giá trị ngày/tháng cung cấp.

 

0988 542 856
0988 542 856