Thông tin liên hệ
- 036.686.3943
- admin@nguoicodonvn2008.info
Union All trong SQL Server được sử dụng khá nhiều. Bạn có muốn biết sự khác biệt giữa Union và Union All khi dùng SQL Server không? Nếu có, hãy cùng nhau tìm hiểu nhé!
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.

Nguồn tin: Quantrimang.com:
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn
Cách tạo video chuyển cảnh giữa 2 ảnh trên Google Flow
Những điều cơ bản về viết câu lệnh (prompt) AI
Các kỹ thuật tạo prompt AI nâng cao
4 kỹ năng quan trọng giúp bạn "thành thạo AI"
TOP công cụ AI tạo bài hát tốt nhất để sáng tác những bản nhạc ấn tượng
Chuyển đổi danh sách sản phẩm thành dashboard hàng tồn kho trực tuyến bằng Google Sheets Canvas
Tinh chỉnh bằng các prompt bổ sung trong Google Sheets Canvas
Cách xuất phản hồi AI Mode sang Docs trên Google Search
So sánh các gói Higgsfield - Nên lựa chọn gói nào để tạo video AI
Chia sẻ an toàn: Quyền hạn, quyền riêng tư và những gì được giữ riêng tư trong Google Sheets Canvas
Gemini vs Claude: Đâu là trợ lý AI tốt hơn?
ChatGPT Work là gì? Sử dụng ChatGPT Work như thế nào?
Lựa chọn ứng dụng doanh nghiệp đầu tiên để thực hiện bằng Google Sheets Canvas
Cách chuyển phản hồi Google AI Mode thành email
Claude vs Perplexity: Đâu là công cụ AI tốt hơn?
4 phần mềm mã Morse miễn phí để gửi tin nhắn được mã hóa
Tự xây dựng ứng dụng doanh nghiệp của riêng bạn bằng Google Sheets Canvas
Cách đổi kích thước ảnh trên ChatGPT không cần prompt
Cách sử dụng Claude Projects: Hướng dẫn thực tế
Cách đánh dấu vùng cần sửa ảnh trên ChatGPT
Cách lập trình chuyên nghiệp hơn, dễ dàng hơn với tính năng Tệp trên Grok
Hướng dẫn cài đặt và sử dụng n8n trên Windows 11
Công thức tính diện tích hình Elip
Hướng dẫn ngắt kết nối ứng dụng trên ChatGPT
Hướng dẫn tạo đoạn hội thoại cho topic trên Twee
8 ứng dụng Microsoft Store miễn phí giúp Windows tốt hơ
Bức tranh tổng quan về hỗ trợ khách hàng tích hợp AI
6 cách mở Computer/System Properties trong Windows 10
Đừng chia sẻ ảnh cho đến khi bạn chạy kiểm tra siêu dữ liệu này!
Cách sửa lỗi There Are Currently No Power Options Available Windows