Trong Oracle ngoài UNION ra chúng ta còn một toán tử có chức năng tương tự đó là UNION ALL.
Toán tử UNION ALL có cùng đặc điểm với UNION là dùng để gộp kết quả của 2 lệnh select lại với nhau, tuy nhiên sự khác biệt nhất là nó không xóa đi các phần tử bị trùng mà sẽ giữ lại tất cả.
1. Cú pháp toán tử UNION ALL trong Oracle
Sau đây là cú pháp của UNION ALL.
SELECT expression1, expression2, ... expression_n FROM table1 WHERE conditions UNION ALL SELECT expression1, expression2, ... expression_n FROM table2 WHERE conditions;
Trong đó:
Bài viết này được đăng tại [kiso.vn]
- expression1, expression2, expression_n là các column sẽ được chọn
- table1, table2 là các table cần lấy dữ liệu
- conditions là điều kiện của lệnh where (nếu có)
Bạn chỉ cần quan tâm đến một điều là UNION ALL sẽ đặt ở giữa hai lệnh select là được.
2. Ví dụ sử dụng UNION ALL
Giả sử mình có bảng suppliers
và order_details
, sau đó mình thực hiện câu truy vấn sau để lấy danh sách supplier_id
ở cả hai bảng và gộp lại với nhau trong một câu truyvấn duy nhất.
SELECT supplier_id FROM suppliers UNION ALL SELECT supplier_id FROM order_details;
Và với dữ liệu cho sẵn thì giả sử kết quả nó sẽ hiển thị như hình dưới đây.
Như bạn thấy dữ liệu có trùng nhưng nó vẫn giữ lại tất cả, đây là sự khác biệt so với UNION.
2. Lời kết
Theo cá nhân mình thấy thì toán tử UNION này rất ít khi sử dụng, tuy nhiên Oracle vẫn cung cấp cho chúng ta bởi trong một số trường hợp có thể cần dùng đến.
Bài tiếp theo chúng ta sẽ tìm hiểu toán tử INTERSECT.
Bài viết liên quan
[CSF-2] Một số thiết lập CSF, LFD
Hôm nay mình sẽ thực hiện một số thiết lập trên CSF Mở file config để sửa đổi một số tính năng dưới /etc/csf/csf.conf Nội dung chính1. Cú pháp toán tử UNION ALL trong Oracle2....
[CSF-1] Tăng bảo mật Server với ConfigServer Firewall (CSF)
Nội dung chính1. Cú pháp toán tử UNION ALL trong Oracle2. Ví dụ sử dụng UNION ALL2. Lời kết1. Khái niệm CSF: CSF (ConfigServer & Firewall) là một bộ ứng dụng hoạt động trên Linux...
Sử dụng SSH Key với Gitlab và Github
Bài viết này mình sẽ hướng dẫn các bạn tạo ssh key cho Gitlab và Github SSH là gì? Secure Socket Shell là một giao thức mạng dùng để thiết lập kết nối mạng một...
Directory traversal vulnerabilities (phần 4)
Nội dung chính1. Cú pháp toán tử UNION ALL trong Oracle2. Ví dụ sử dụng UNION ALL2. Lời kếtV. Phân tích và khai thác các lỗ hổng Directory traversal (tiếp) 5. Bypass lỗ hổng khi...
Directory traversal vulnerabilities (phần 3)
Nội dung chính1. Cú pháp toán tử UNION ALL trong Oracle2. Ví dụ sử dụng UNION ALL2. Lời kếtV. Phân tích và khai thác các lỗ hổng Directory traversal 1. Lỗ hổng xảy ra khi...
Directory traversal vulnerabilities (phần 2)
Nội dung chính1. Cú pháp toán tử UNION ALL trong Oracle2. Ví dụ sử dụng UNION ALL2. Lời kếtIII. Vì sao lỗ hổng Directory traversal xuất hiện? Với mỗi ngôn ngữ lập trình khác nhau,...