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.

Cú pháp
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 scoreexam.

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ó.

 

 

-------------------#####-------------------

Lưu ý: bài viết có tham khảo hoặc dịch lại từ http://javatpoint.com.

Nguồn: freetuts.net