Toán tử UNION
trong MySQL được sử dụng để kết hợp kết quả của hai hoặc nhiều câu lệnh SELECT
thành một tập hợp kết quả duy nhất. Khi sử dụng UNION
, các câu lệnh SELECT
phải có cùng số lượng cột và các cột tương ứng phải có kiểu dữ liệu tương thích.
UNION
UNION ALL
: Kết hợp các tập kết quả của các câu lệnh SELECT
mà không loại bỏ các hàng trùng lặp. Cú pháp ví dụ:
SELECT
Bảng contractors
có thể được tạo bằng cách:
employees
Trong ví dụ này, hàm CAST
được sử dụng để chuyển đổi kiểu dữ liệu của cột salary
và bonus
thành kiểu CHAR
để chúng có thể được kết hợp trong cùng một truy vấn.
UNION
với Các Điều Kiện Phức TạpBạn có thể kết hợp các câu lệnh SELECT
với điều kiện phức tạp để tạo ra các tập kết quả tinh vi hơn.
Ví dụ:
Giả sử bạn có hai bảng: orders
và returns
, và bạn muốn lấy danh sách tất cả các đơn hàng và trả hàng trong tháng này.
type
Trong ví dụ này, kết quả từ hai bảng được sắp xếp theo giá giảm dần, và chỉ 10 sản phẩm đầu tiên được lấy.
Bạn có thể sử dụng UNION
để kết hợp dữ liệu từ các bảng thuộc các cơ sở dữ liệu khác nhau trong cùng một server MySQL.
Ví dụ:
Giả sử bạn có hai cơ sở dữ liệu: sales_db
và hr_db
, và bạn muốn lấy danh sách tất cả các nhân viên từ cả hai cơ sở dữ liệu.
SELECT employee_name FROM sales_db.employees UNION SELECT employee_name FROM hr_db.employees;
Trong ví dụ này, kết quả từ bảng employees
của hai cơ sở dữ liệu khác nhau được kết hợp thành một tập kết quả duy nhất.
Toán tử UNION
trong MySQL không chỉ đơn thuần là công cụ kết hợp kết quả từ các truy vấn đơn giản mà còn cung cấp khả năng xử lý các tình huống phức tạp như kết hợp dữ liệu từ các bảng với các kiểu dữ liệu khác nhau, điều kiện phức tạp, sắp xếp và giới hạn kết quả, cũng như kết hợp dữ liệu từ nhiều cơ sở dữ liệu. Sử dụng UNION
một cách hiệu quả có thể giúp bạn tích hợp và phân tích dữ liệu từ các nguồn khác nhau một cách linh hoạt và mạnh mẽ.