Toán tử UNION trong SQL được sử dụng để kết hợp các kết quả của hai hoặc nhiều câu lệnh SELECT. Nó giúp bạn truy xuất dữ liệu từ nhiều bảng hoặc truy vấn một cách hiệu quả và dễ dàng.
Cú pháp:
--UNION SELECT column_name(s) FROM table1 UNION SELECT column_name(s) FROM table2; --UNION ALL SELECT column_name(s) FROM table1 UNION ALL SELECT column_name(s) FROM table2;
Lưu ý:
- Cả hai câu lệnh SELECT phải có cùng số lượng cột và kiểu dữ liệu tương ứng.
- Thứ tự của các cột trong kết quả sẽ giống như thứ tự của các cột trong câu lệnh SELECT đầu tiên.
- Toán tử UNION loại bỏ các bản ghi trùng lặp.
- Toán tử UNION ALL hiển thị kết quả bao gồm cả các bản ghi trùng lặp
Ví dụ:
--Tìm kiếm tất cả khách hàng từ Việt Nam và Hoa Kỳ: SELECT * FROM Customers WHERE Country = 'Việt Nam' UNION SELECT * FROM Customers WHERE Country = 'Hoa Kỳ'; --Tìm kiếm tất cả sản phẩm có giá bán dưới 100.000 đồng hoặc trên 200.000 đồng: SELECT * FROM Products WHERE Price < 100000 UNION SELECT * FROM Products WHERE Price > 200000;
Toán tử UNION ALL:
Toán tử UNION ALL tương tự như UNION nhưng nó không loại bỏ các bản ghi trùng lặp.
Ví dụ:
--Tìm kiếm tất cả khách hàng, bao gồm cả những khách hàng có thông tin trùng lặp: SELECT * FROM Customers UNION ALL SELECT * FROM Customers;