INNER JOIN trong PostgreSQL
Trong ngôn ngữ lập trình SQL, phép nối (JOIN) cho phép bạn kết hợp dữ liệu từ hai hoặc nhiều bảng dựa trên một điều kiện liên quan giữa chúng. Một trong những loại phép nối phổ biến nhất là INNER JOIN. Nội dung của bài viết này sẽ giúp bạn hiểu rõ về INNER JOIN trong PostgreSQL thông qua định nghĩa, cú pháp và ví dụ minh họa.
Định nghĩa
INNER JOIN là phép nối dữ liệu giữa hai bảng mà chỉ trả về các bản ghi có sự liên kết trong cả hai bảng. Nói cách khác, chỉ những dòng dữ liệu mà tồn tại trong cả hai bảng dựa trên điều kiện cho trước mới được chọn.
Cú pháp
SELECT column1, column2, ... FROM table1 INNER JOIN table2 ON table1.common_column = table2.common_column;
Ví dụ
Giả sử chúng ta có hai bảng: employees và departments.
Bảng employees: +----+-------+------------+ | id | name | department_id | +----+-------+------------+ | 1 | Alice | 1 | | 2 | Bob | 2 | | 3 | Carol | 1 | | 4 | Dave | 3 | +----+-------+------------+ Bảng departments: +----+------------+ | id | department_name | +----+------------+ | 1 | HR | | 2 | Sales | | 3 | Engineering | +----+------------+
Sử dụng INNER JOIN để lấy tên nhân viên cùng với tên phòng ban mà họ làm việc:
SELECT employees.name, departments.department_name FROM employees INNER JOIN departments ON employees.department_id = departments.id;
Kết quả của truy vấn trên sẽ là:
+-------+----------------+ | name | department_name | +-------+----------------+ | Alice | HR | | Bob | Sales | | Carol | HR | | Dave | Engineering | +-------+----------------+
Bạn có thể thấy rằng chỉ những nhân viên có phòng ban tương ứng trong bảng departments mới được trả về. Nếu một nhân viên không có phòng ban tương ứng, họ sẽ không xuất hiện trong kết quả.
Kết luận
INNER JOIN là một công cụ mạnh mẽ trong PostgreSQL để kết hợp dữ liệu từ nhiều bảng. Bằng cách sử dụng INNER JOIN, bạn có thể dễ dàng truy xuất thông tin tương tác từ các bảng khác nhau và đưa ra phân tích sâu sắc hơn về dữ liệu của mình.