SQL UNION ALL

Hiểu về SQL UNION ALL

SQL (Structured Query Language) là một ngôn ngữ lập trình được sử dụng để quản lý và thao tác với cơ sở dữ liệu. Một trong những tính năng hữu ích của SQL là khả năng kết hợp kết quả từ nhiều câu truy vấn khác nhau. Trong bài viết này, chúng ta sẽ tìm hiểu về lệnh UNION ALL, một trong những phương thức để kết hợp kết quả truy vấn.

Định nghĩa

UNION ALL là lệnh trong SQL dùng để kết hợp hàm SELECT từ hai hoặc nhiều truy vấn, cho phép hiển thị tất cả các kết quả mà không loại bỏ các bản ghi trùng lặp. Nếu bạn chỉ sử dụng UNION mà không có "ALL", hệ thống sẽ tự động loại bỏ các bản ghi trùng lặp.

Cú pháp

Cú pháp cơ bản của UNION ALL như sau:

SELECT column1, column2, ...
FROM table1
WHERE condition

UNION ALL

SELECT column1, column2, ...
FROM table2
WHERE condition;

Lưu ý rằng số lượng và loại cột trong các truy vấn phải tương thích với nhau.

Ví dụ

Dưới đây là một vài ví dụ về cách sử dụng UNION ALL trong SQL.

Ví dụ 1: Kết hợp dữ liệu từ hai bảng

SELECT id, name FROM employees
WHERE department = 'Sales'

UNION ALL

SELECT id, name FROM customers
WHERE sector = 'Retail';

Truy vấn này sẽ lấy tất cả các ID và tên từ bảng employees (nhân viên) với điều kiện phòng ban là 'Sales' và tất cả các ID và tên từ bảng customers (khách hàng) với điều kiện lĩnh vực là 'Retail'. Kết quả trả về sẽ bao gồm tất cả các bản ghi từ cả hai bảng, bao gồm cả những bản ghi trùng lặp.

Ví dụ 2: Kết hợp kết quả từ cùng một bảng

SELECT product_id, product_name FROM products
WHERE category = 'Electronics'

UNION ALL

SELECT product_id, product_name FROM products
WHERE category = 'Home Appliances';

Trong ví dụ này, truy vấn sẽ lấy tất cả các sản phẩm từ bảng products có danh mục là 'Electronics' và 'Home Appliances'. Kết quả sẽ bao gồm tất cả các sản phẩm từ cả hai danh mục, bao gồm những sản phẩm có thể trùng lặp.

Kết luận

UNION ALL là một công cụ mạnh mẽ trong SQL cho phép bạn kết hợp các kết quả từ nhiều truy vấn một cách linh hoạt. Bằng cách sử dụng UNION ALL, bạn có thể giữ lại tất cả các bản ghi, kể cả những bản ghi trùng lặp, điều này đặc biệt hữu ích khi bạn muốn phân tích hoặc báo cáo thông tin từ nhiều nguồn khác nhau.

Bạn hãy thử nghiệm với các truy vấn khác nhau để hiểu rõ hơn về cách sử dụng UNION ALL và các tình huống mà nó có thể giải quyết trong thực tiễn!