Trong bài này mình sẽ giới thiệu với các bạn một toán tử rất thú vị đó là toán tử UNION trong Oracle.
Toán tử UNION dùng để gộp kết quả của hai lệnh SELECT lại với nhau, nó sẽ loại bỏ những dòng trùng lặp và chỉ để lại những dòng khác nhau.
Điều kiện để sử dụng được UNION trong Oracle là các column ở hai lệnh SELECT phải giống nhau về cả tên column, thứ tự và số lượng.
1. Cú pháp toán tử UNION trong Oracle
Vì UNION là toán tử nối hai lệnh select nên sẽ được đặt giữa.
Bài viết này được đăng tại [kiso.vn]
SELECT expression1, expression2, ... expression_n FROM table1 WHERE conditions UNION SELECT expression1, expression2, ... expression_n FROM table2 WHERE conditions;
Như mình đã nhấn mạnh ở trên, bạn phải đảm bảo số lượng, số thứ tự và số lượng ở hai lệnh select phải giống nhau nhé, nếu không chương trình sẽ báo lỗi.
Ví dụ: Lấy danh sách student_id
từ bảng score
và exam
.
SELECT student_id FROM score UNION SELECT student_id FROM exam
Trong ví dụ này thì student_id có trong cả hai bảng score và exam. Nếu trường ợp bảng exam bạn dùng tên khác đó là std_id thì có thể dùng toán tử as để đảm bảo tên column giống nhau.
SELECT student_id FROM score UNION SELECT std_id as student_id FROM exam
2. Lời kết
Toán tử UNION trong Oracle tương đối đơn giản và dễ hiểu. Trong thực tế toán tử này ít khi dùng, nhất là khi làm thiết kế dữ liệu web thì lại càng hiếm thấy.
Tuy nhiên nếu bạn là một DBA thì nó lại rất hữu ích trong một số trường hợp, vì vậy cũng không nên bỏ qua nó.
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 trong Oracle2. Lời...
[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 trong Oracle2. 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 như một firewall được phát hành miễn...
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 trong Oracle2. 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 trang web sử dụng đường dẫn đầy...
Directory traversal vulnerabilities (phần 3)
Nội dung chính1. Cú pháp toán tử UNION trong Oracle2. 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 sử dụng các hàm đọc file và...
Directory traversal vulnerabilities (phần 2)
Nội dung chính1. Cú pháp toán tử UNION trong Oracle2. 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, điểm xuất hiện các lỗ hổng Directory...