Mệnh đề Joins trong MySQL

Tiếp theo phần tìm hiểu về MySQL thì Team Việt Dev sẽ giải thích cách sử dụng mệnh đề Joins trong MySQL với cú pháp và ví dụ minh họa trực quan sao cho dễ hiểu nhất.

MySQL JOINS được sử dụng để lấy dữ liệu từ nhiều bảng, mệnh đề JOIN được thực hiện khi chúng ta có hai hoặc nhiều hơn hai bảng.

Có nhiều kiểu mệnh đề Joins trong MySQL bao gồm:

  • INNER JOIN
  • LEFT JOIN
  • RIGHT JOIN

Hãy cùng bắt đầu tìm hiểu về mệnh đề Joins trong MySQL với cú pháp và ví dụ minh họa trực quan. Ví dụ chúng ta có 2 bảng gồm bảng categorys(category_id, category_serial, category_name, category_status) và bảng products (product_id, category_id, product_serial, product_name, product_price, product_time, product_status).

Mệnh đề Joins trong MySQL

1. INNER JOIN trong MySQL

Lệnh INNER JOIN trong MySQL được dùng để trả về kết quả là tập hợp dữ liệu từ các bảng lại với nhau trong đó giá trị đều có ở cả các bảng (phép giao).

Mệnh đề Joins trong MySQL

Cú pháp lệnh INNER JOIN trong MySQL:

SELECT field1, field2,... fieldn
FROM table1
INNER JOIN table2 ON table1.column_name = table2.column_name
WHERE condition

Ví dụ lệnh INNER JOIN trong MySQL lấy danh sách tất cả các sản phẩm với danh mục là “SamSung” như sau:

SELECT sp.product_serial, sp.product_name, sp.product_price, dm.category_serial, dm.category_name
FROM categorys dm
INNER JOIN products sp ON dm.category_id = sp.category_id
WHERE dm.category_serial LIKE 'SAMSUNG'

Kết quả sau khi chạy lệnh INNER JOIN trên:

Mệnh đề Joins trong MySQL

2. LEFT JOIN trong MySQL

Lệnh LEFT JOIN trong MySQL sẽ so sánh mỗi hàng trong bảng thứ nhất và mỗi hàng trong bảng thứ hai, khi điều kiện được thỏa mãn thì giá trị dòng sẽ kết hợp lại với nhau thành một hàng kết quả, sẽ giữ lại tất các giá trị bảng bên trái và điền giá trị NULL vào phần trống.

Mệnh đề Joins trong MySQL

Cú pháp lệnh LEFT JOIN trong MySQL:

SELECT field1, field2,... fieldn
FROM table1
LEFT JOIN table2 ON table1.column_name = table2.column_name
WHERE condition

Ví dụ lệnh LEFT JOIN trong MySQL:

SELECT dm.category_serial, dm.category_name, sp.product_serial, sp.product_name, sp.product_price
FROM categorys dm
LEFT JOIN products sp ON dm.category_id = sp.category_id
WHERE dm.category_status = TRUE

Kết quả sau khi chạy lệnh LEFT JOIN trên:

Mệnh đề Joins trong MySQL

3. RIGHT JOIN trong MySQL

Lệnh RIGHT JOIN trong MySQL sẽ so sánh mỗi hàng trong bảng thứ nhất và mỗi hàng trong bảng thứ hai, khi thỏa mãn điều kiện thì giá trị dòng sẽ kết hợp lại với nhau thành một hàng kết quả, lúc này sẽ giữ lại tất các giá trị bảng bên phải và điền giá trị NULL vào phần trống.

Mệnh đề Joins trong MySQL

Cú pháp lệnh RIGHT JOIN trong MySQL:

SELECT field1, field2,... fieldn
FROM table1
RIGHT JOIN table2 ON table1.column_name = table2.column_name
WHERE condition

Ví dụ lệnh RIGHT JOIN trong MySQL:

SELECT dm.category_serial, dm.category_name, sp.product_serial, sp.product_name, sp.product_price
FROM categorys dm
RIGHT JOIN products sp ON dm.category_id = sp.category_id
WHERE dm.category_status = TRUE

Kết quả sau khi chạy lệnh RIGHT JOIN trên:

Mệnh đề Joins trong MySQL

Lời kết: Trong thời gian tới Team Việt Dev sẽ tiếp tục chia sẻ thêm nhiều bài viết về chuyên mục MySQL miễn phí đến bạn đọc, các bạn nhớ theo dõi kênh để có được những chia sẻ mới nhất.

(Tác giả: Team Việt Dev)

Bình luận