Thông tin liên hệ
- 036.686.3943
- admin@nguoicodonvn2008.info
UNION ALL trong SQL Server được sử dụng trong lập trình như thế nào? Dưới đây là những điều bạn cần biết về UNION và UNION ALL.
Trong vũ trụ SQL, khả năng kết hợp dữ liệu từ nhiều truy vấn là một yêu cầu cơ bản và SQL cung cấp các hàm mạnh mẽ như UNION và UNION ALL để đạt được điều này.
Như bạn sẽ thấy, việc hiểu được những khác biệt tinh tế giữa các hàm UNION và UNION ALL trong SQL là điều bắt buộc để truy vấn và quản lý dữ liệu hiệu quả. Hướng dẫn này giải thích những điểm tương đồng, khác biệt và tình huống sử dụng chính của chúng bằng cách sử dụng các tập dữ liệu đi kèm để giúp bạn tối ưu hóa các truy vấn SQL của mình.
UNION và UNION ALL là hai toán tử SQL cơ bản nhất được dùng trong database để kết hợp nhóm kết quả từ nhiều bảng. Khác với toán tử UNION, toán tử UNION ALL trả về tất cả các hàng từ truy vấn và không xóa các hàng trùng lặp.
Mỗi lệnh SELECT trong toán tử UNION phải có cùng số cột trong bộ kết quả với kiểu dữ liệu tương ứng.
SELECT bieu_thuc1, bieu_thuc2, … bieu_thucnFROM bang[WHERE dieu_kien]UNION ALLSELECT bieu_thuc1, bieu_thuc2, … bieu_thucnFROM bang[WHERE dieu_kien];
bieu_thuc1, bieu_thuc2, … bieu_thucn
Cột hoặc giá trị tính toán muốn lấy.
bang
Bảng muốn lấy bản ghi. Phải có ít nhất 1 bảng trong mệnh đề FROM.
WHERE dieu_kien
Tùy chọn. Điều kiện phải đáp ứng để bản ghi được chọn.
Lưu ý:
Ví dụ - trả về một trường thông tin
SELECT sanpham_idFROM sanphamUNION ALLSELECT sanpham_idFROM hangtonkho;
Ví dụ này trả về nhiều sanpham_id trong bộ kết quả nếu chúng có xuất hiện trong cả bảng sanpham và hangtonkho. Nếu muốn xóa các bản trùng lặp, hãy dùng toàn tử UNION.
Ví dụ - dùng ORDER BY
Toán tử UNION ALL có thể dùng mệnh đề ORDER BY để sắp xếp kết quả truy vấn.
SELECT danhba_id, danhba_tenFROM danhbaWHERE ten_trang = ‘QuanTriMang.com’UNION ALLSELECT congty_id, congty_tenFROM congtyWHERE ten_trang = ‘TrangCuaBan.com’ORDER BY 2;
Ở ví dụ này, vì tên cột ở 2 lệnh SELECT khác nhau nên sẽ dễ hơn khi tham chiếu tới cột trong lệnh ORDER BY bằng vị trí trong bộ kết quả. Trong ví dụ trên, ta lọc kết quả theo danhba_ten / congty_ten theo thứ tự tăng dần, như đã nói bằng cụm từ ORDER BY 2.
danhba_ten / congty_ten nằm ở vị trí thứ 2 trong bộ kết quả.
|
UNION |
UNION ALL |
|
UNION kết hợp nhóm kết quả từ nhiều bảng và trả về các bản ghi riêng biệt vào một nhóm kết quả duy nhất. |
UNION ALL kết hợp nhóm kết quả từ nhiều bảng và trả về toàn bộ bản ghi vào một nhóm kết quả duy nhất. |
|
Cú pháp cơ bản của toán tử UNION:
|
Cú pháp cơ bản của toán tử UNION ALL:
|
|
Nó có tính năng mặc định loại bỏ các hàng trùng lặp từ đầu ra. |
Không có tính năng mặc định loại bỏ các hàng trùng lặp. |
|
Hiệu suất chậm vì nó cần thời gian để tìm, rồi loại bỏ các bản ghi trùng lặp. |
Hiệu suất nhanh vì không xóa các hàng trùng lặp. |
|
Hầu hết người dùng database đều thích sử dụng toán tử này. |
Hầu hết người dùng database không thích dùng toán tử này. |
Để hiểu rõ hơn về sự khác biệt giữa Union và Union All SQL Server, hãy cùng nhau xem xét ví dụ sau:
Giả sử bạn có bảng tên Student và Student2, chứa dữ liệu sau:
Bảng: Student

Bảng: Student2

Lệnh SQL sau trả về tên riêng của các thành phố từ cả hai bảng bằng truy vấn UNION:
SELECT City FROM student UNION SELECT City FROM student2 ORDER BY City;
Sau khi chạy lệnh trên, bạn sẽ nhận được kết quả bên dưới vì toán tử Union chỉ trả về giá trị riêng biệt.

Lệnh SQL sau trả về tất cả tên thành phố bao gồm các những giá trị trùng lặp từ cả hai bảng bằng truy vấn UNION ALL:
SELECT City FROM student UNION ALL SELECT City FROM student2 ORDER BY City;
Sau khi chạy lệnh trên, bạn sẽ nhận được kết quả dưới đây vì toán tử Union All trả về toàn bộ bản ghi mà không cần phải loại bỏ các giá trị riêng biệt.

Các lệnh cơ bản trong các phương ngữ SQL này vẫn giữ nguyên, với một số sắc thái và khác biệt:
Việc hiểu rõ ứng dụng của UNION so với UNION ALL trong việc quản lý dữ liệu hiệu quả bằng SQL là rất quan trọng. Trong khi UNION chỉ chọn các bản ghi riêng biệt, UNION ALL chọn tất cả các bản ghi, ảnh hưởng đến hiệu suất và kích thước tập kết quả. Hãy vận dụng kiến thức này để chọn hàm phù hợp với yêu cầu cụ thể của bạn.
Nguồn tin: Quantrimang.com:
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn
TOP công cụ AI tạo biểu đồ tốt nhất
Hướng dẫn xây dựng storyboard tạo video AI Google Vids
Prompt AI tạo ảnh chân dung đường phố phong cách Y2K với đèn flash iPhone
TOP công cụ AI kiểm tra SEO (SEO Audit) tốt nhất
Prompt AI tạo ảnh đường phố châu Âu sau cơn mưa cực kỳ chân thực
Claude Code thực sự có giá bao nhiêu?
Prompt thiết kế hoạt động dạy học cho các môn học
Hướng dẫn kết nối Slack vào Claude để tối ưu hóa quy trình làm việc
Google Photos AI Enhance: Tự động chỉnh sáng, màu sắc ảnh
Cách xóa chi tiết thừa trong ảnh tự động trên Google Photos
5 công cụ AI tốt nhất cho phân tích dữ liệu năm 2026
Cách tạo hình ảnh AI bằng Google Vids
AI Agent vs Chatbot SaaS: Khác nhau ở đâu?
Tìm hiểu về SUB/WAVE: Giải pháp tạo AI radio station tự host chạy trên phần cứng của riêng bạn
Lợi ích khi để Gemini quản lý các ứng dụng Samsung yêu thích của bạn
TOP lựa chọn thay thế ChatGPT Outlook Plugin tốt nhất
Cách nhập Google Slides vào Google Vids tạo video
Sau khi dạy ChatGPT, Claude và Gemini một điều sai sự thật, bạn có thể xóa bỏ không?
Gemini trong Gmail làm được gì? 4 tính năng Gmail AI hữu ích bạn nên biết