Giới thiệu về SQL UNION
SQL UNION là một phép toán trong ngôn ngữ truy vấn SQL cho phép gộp kết quả của hai hoặc nhiều câu truy vấn SELECT lại với nhau. Điều này giúp bạn có thể truy xuất dữ liệu từ nhiều bảng hoặc nhiều điều kiện khác nhau và kết hợp chúng thành một tập kết quả duy nhất.
Định nghĩa
UNION trong SQL là một toán tử dùng để kết hợp kết quả của hai hoặc nhiều câu truy vấn SELECT. Các truy vấn này phải có số lượng cột và kiểu dữ liệu tương ứng ở mỗi vị trí cột. Kết quả cuối cùng sẽ loại bỏ các bản ghi trùng lặp và chỉ trả về các bản ghi duy nhất.
Cú pháp
SELECT column1, column2, ... FROM table1 UNION SELECT column1, column2, ... FROM table2;
Bạn cũng có thể sử dụng UNION ALL nếu bạn muốn giữ lại tất cả các bản ghi, bao gồm cả bản ghi trùng lặp. Cú pháp như sau:
SELECT column1, column2, ... FROM table1 UNION ALL SELECT column1, column2, ... FROM table2;
Ví dụ
1. Ví dụ cơ bản sử dụng UNION
SELECT name, city FROM customers UNION SELECT name, city FROM suppliers;
Trong ví dụ này, chúng ta lấy danh sách tên và thành phố từ cả bảng khách hàng và nhà cung cấp và kết hợp chúng thành một danh sách duy nhất.
2. Ví dụ sử dụng UNION ALL
SELECT product_name FROM electronics UNION ALL SELECT product_name FROM furnishings;
Ở đây, chúng ta lấy danh sách tên sản phẩm từ bảng điện tử và đồ nội thất, bao gồm cả các sản phẩm trùng lặp nếu có.
3. Kết hợp với các điều kiện
SELECT id, name FROM employees WHERE department='Sales' UNION SELECT id, name FROM contractors WHERE department='Sales';
Ví dụ này kết hợp danh sách nhân viên và nhà thầu trong phòng Sales, cho phép chúng ta có cái nhìn toàn diện về mọi người làm việc trong bộ phận này.
Kết luận
SQL UNION là một công cụ hữu ích để kết hợp kết quả từ nhiều bảng hoặc truy vấn khác nhau. Bạn có thể sử dụng UNION để đơn giản hóa việc truy xuất dữ liệu và tạo ra các báo cáo tổng hợp từ nhiều nguồn khác nhau. Hãy luôn nhớ rằng các truy vấn chọn từ những bảng khác nhau cần có cùng số lượng cột và kiểu dữ liệu tương ứng để UNION hoạt động chính xác.