Làm thế nào để kết hợp (join) các bảng trong MySQL

Khi làm việc với cơ sở dữ liệu MySQL, chúng ta thường gặp trường hợp cần kết hợp (join) dữ liệu từ nhiều bảng lại với nhau để lấy ra các thông tin liên quan. Trong bài viết này, chúng ta sẽ tìm hiểu cách kết hợp các bảng trong MySQL bằng các câu lệnh JOIN.

MySQL cung cấp các loại JOIN sau đây:

INNER JOIN

INNER JOIN là loại JOIN phổ biến nhất trong MySQL. Nó kết hợp các bản ghi từ các bảng mà có điều kiện kết hợp khớp. Cú pháp của INNER JOIN như sau:

SELECT columns
FROM table1
INNER JOIN table2 ON table1.column = table2.column;

 

Trong đó:

  • columns: Các cột bạn muốn lấy từ các bảng.
  • table1, table2: Tên các bảng cần kết hợp.
  • ON: Điều kiện kết hợp giữa các bảng.

Ví dụ, để kết hợp bảng “customers” và “orders” trên cột “customer_id”, bạn có thể sử dụng câu lệnh INNER JOIN như sau:

SELECT customers.customer_name, orders.order_number
FROM customers
INNER JOIN orders ON customers.customer_id = orders.customer_id;
Window Functions in MySQL 8.0

LEFT JOIN

LEFT JOIN kết hợp tất cả các bản ghi từ bảng bên trái và các bản ghi khớp từ bảng bên phải. Nếu không có bản ghi khớp, các giá trị NULL được trả về. Cú pháp của LEFT JOIN như sau:

SELECT columns
FROM table1
LEFT JOIN table2 ON table1.column = table2.column;

 

Ví dụ, để lấy tất cả khách hàng cùng với các đơn hàng tương ứng (nếu có), bạn có thể sử dụng câu lệnh LEFT JOIN như sau:

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

lefred on Twitter: "@MySQL 8.0.11 GA is now available !! https://t.co/SgtPbGnxOv Thank you to all who reviewed and contributed to it ! #MySQL8isGreat https://t.co/w5lnZLyrUA" / Twitter

RIGHT JOIN

RIGHT JOIN tương tự như LEFT JOIN, nhưng nó kết hợp tất cả các bản ghi từ bảng bên phải và các bản ghi khớp từ bảng bên trái. Nếu không có bản ghi khớp, các giá trị NULL được trả về. Cú pháp của RIGHT JOIN như sau:

SELECT columns
FROM table1
RIGHT JOIN table2 ON table1.column = table2.column;

 

Ví dụ, để lấy tất cả các đơn hàng cùng với tên khách hàng tương ứng (nếu có), bạn có thể sử dụng câu lệnh RIGHT JOIN như sau:

SELECT customers.customer_name, orders.order_number
FROM customers
RIGHT JOIN orders ON customers.customer_id = orders.customer_id;

MySQL Database Security Attacks to Watch Out for - The Official Admin-Ahead BlogThe Official Admin-Ahead Blog

FULL JOIN

FULL JOIN kết hợp tất cả các bản ghi từ cả hai bảng bên trái và bên phải. Nếu không có bản ghi khớp, các giá trị NULL được trả về. Cú pháp của FULL JOIN như sau:

SELECT columns
FROM table1
FULL JOIN table2 ON table1.column = table2.column;

 

Ví dụ, để lấy tất cả khách hàng và đơn hàng tương ứng (nếu có), bạn có thể sử dụng câu lệnh FULL JOIN như sau:

SELECT customers.customer_name, orders.order_number
FROM customers
FULL JOIN orders ON customers.customer_id = orders.customer_id;

MySQL VPS Hosting, PHPMyAdmin VPS Server

Trên đây là một số loại JOIN phổ biến trong MySQL. Bằng cách sử dụng các câu lệnh JOIN này, bạn có thể kết hợp dữ liệu từ nhiều bảng để lấy ra thông tin chi tiết và liên quan đến dự án của mình.

Tags: