PostgreSQL UNION

Hiểu Biết Về PostgreSQL UNION

Trong ngôn ngữ lập trình SQL, đặc biệt là PostgreSQL, UNION là một phép toán mạnh mẽ cho phép kết hợp kết quả của hai hoặc nhiều truy vấn SELECT thành một tập hợp duy nhất. Nếu bạn muốn lấy dữ liệu từ nhiều bảng hoặc tập hợp khác nhau mà có cấu trúc tương tự (cùng số lượng và kiểu cột), UNION là một lựa chọn hợp lý.

Định Nghĩa

UNION operator kết hợp các kết quả từ hai hoặc nhiều câu lệnh SELECT. Điều kiện tiên quyết là tất cả các câu lệnh SELECT phải trả về cùng một số cột và kiểu dữ liệu tương tự. Kết quả cuối cùng chỉ bao gồm các hàng duy nhất, loại bỏ các bản ghi trùng lặp.

Cú Pháp

Cú pháp cơ bản cho UNION như sau:

SELECT column1, column2, ... FROM table1
UNION
SELECT column1, column2, ... FROM table2;

Bạn có thể sử dụng UNION ALL nếu bạn muốn bao gồm cả bản ghi trùng lặp:

SELECT column1, column2, ... FROM table1
UNION ALL
SELECT column1, column2, ... FROM table2;

Ví Dụ

Dưới đây là một số ví dụ cụ thể về cách sử dụng PostgreSQL UNION:

Ví Dụ 1: Sử Dụng UNION Để Kết Hợp Dữ Liệu Từ Hai Bảng

Giả sử bạn có hai bảng employeescontractors, cả hai đều có cột nameemail.

SELECT name, email FROM employees
UNION
SELECT name, email FROM contractors;

Câu lệnh trên sẽ trả về một danh sách hỗn hợp tên và email từ cả hai bảng mà không có bản ghi trùng lặp.

Ví Dụ 2: Sử Dụng UNION ALL

Nếu bạn muốn có tất cả các bản ghi, bao gồm cả những bản ghi trùng lặp, bạn có thể sử dụng UNION ALL:

SELECT name, email FROM employees
UNION ALL
SELECT name, email FROM contractors;

Câu lệnh này sẽ trả về tất cả tên và email, với cả các bản ghi trùng lặp từ hai bảng.

Ví Dụ 3: Kết Hợp Nhiều Truy Vấn SELECT

UNION cũng có thể được sử dụng để kết hợp nhiều truy vấn:

SELECT name FROM employees
UNION
SELECT name FROM contractors
UNION
SELECT name FROM customers;

Câu lệnh này sẽ trả về tên từ tất cả ba bảng.

Kết Luận

UNION là một công cụ hữu ích trong PostgreSQL, giúp bạn dễ dàng kết hợp dữ liệu từ nhiều nguồn khác nhau. Việc hiểu rõ cách sử dụng UNION và UNION ALL sẽ giúp bạn thao tác với dữ liệu một cách hiệu quả hơn. Hãy luyện tập với các ví dụ trên và khám phá thêm nhiều tính năng khác của PostgreSQL!