Toán tử UNION trong Oracle
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 [free tuts .net]
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ó.