Tìm hiểu INNER JOIN trong MySQL
Trong MySQL (cũng như trong các hệ quản trị cơ sở dữ liệu (CSDL) quan hệ khác), INNER JOIN là một trong những loại JOIN phổ biến nhất được sử dụng để kết hợp các hàng từ các bảng khác nhau dựa trên một điều kiện kết nối.
Cú pháp INNER JOIN trong MySQL#
Cú pháp chung của INNER JOIN trong MySQL như sau:
SELECT columns FROM table1 INNER JOIN table2 ON table1.column = table2.column;
Trong đó:
SELECT columns: Các cột mà bạn muốn lấy từ các bảng.table1, table2: Các bảng mà bạn muốn kết hợp.ON table1.column = table2.column: Điều kiện để kết hợp các hàng từ các bảng. Các cột được chỉ định ở đây phải có cùng hoặc tương đương với nhau để có thể kết hợp dữ liệu.
Ví dụ INNER JOIN#
Giả sử bạn có hai bảng sau:
Bảng
employees:+----+----------+--------+ | id | name | dept_id| +----+----------+--------+ | 1 | Alice | 1 | | 2 | Bob | 2 | | 3 | Charlie | 1 | +----+----------+--------+Bảng
departments:+--------+------------+ | dept_id| dept_name | +--------+------------+ | 1 | HR | | 2 | IT | | 3 | Marketing | +--------+------------+
Bạn muốn lấy tên của nhân viên và tên phòng ban của họ từ hai bảng trên. Bạn có thể sử dụng INNER JOIN như sau:
SELECT employees.name, departments.dept_name FROM employees INNER JOIN departments ON employees.dept_id = departments.dept_id;
Kết quả sẽ là:
+----------+------------+ | name | dept_name | +----------+------------+ | Alice | HR | | Bob | IT | | Charlie | HR | +----------+------------+
Điều kiện INNER JOIN#
INNER JOIN trả về các hàng từ các bảng mà có điều kiện kết nối được định nghĩa trong mệnh đề ON.
Chỉ các hàng có sự kết hợp giữa các bảng (tức là có giá trị tương ứng trong cả hai bảng) mới được trả về.
Nếu không có bất kỳ hàng nào khớp với điều kiện, INNER JOIN sẽ không trả về bất kỳ kết quả nào.
INNER JOIN là một công cụ mạnh mẽ trong SQL cho phép bạn kết hợp dữ liệu từ nhiều bảng một cách hiệu quả, đặc biệt là khi cần lấy thông tin từ các bảng có mối quan hệ với nhau.