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.

Cú Pháp Cơ Bản

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 salarybonus thành kiểu CHAR để chúng có thể được kết hợp trong cùng một truy vấn.

Sử Dụng UNION với Các Điều Kiện Phức Tạp

Bạ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: ordersreturns, 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.

Kết hợp Dữ Liệu từ Nhiều Cơ Sở Dữ Liệu

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_dbhr_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.

Tóm lại

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ẽ.