06/04/2021, 14:51

án tử MINUS trong Oracle - Oracle căn bản

Trong Oracle toán tử MINUS có tác dụng ngược lại với INTERSECT. Với toán tử INTERSECT sẽ hợp kết quả của 2 lệnh SELECT và chọn ra những record nào trùng nhau thì MINUS sẽ hợp lại và chọn ra những record chỉ có ở câu SELECT đầu tiên mà không có ở câu SELECT thứ hai. ...

Trong Oracle toán tử MINUS có tác dụng ngược lại với INTERSECT.

Với toán tử INTERSECT sẽ hợp kết quả của 2 lệnh SELECT và chọn ra những record nào trùng nhau thì MINUS sẽ hợp lại và chọn ra những record chỉ có ở câu SELECT đầu tiên mà không có ở câu SELECT thứ hai.

Bạn hãy xem hình sau đây sẽ thấy rõ ràng hơn, phần màu xanh nhạt là phần được chọn bởi MINUS.

minus1 png

1. Cú pháp toán tử MINUS trong Oracle

Giống như các toán tử UNION, INTERSECT, toán tử MINUS sẽ đặt giữa hai lệnh SELECT.

Cú pháp
SELECT expression1, expression2, ... expression_n  
FROM table1  
WHERE conditions  
MINUS  
SELECT expression1, expression2, ... expression_n  
FROM table2  
WHERE conditions;

Mình sẽ không giải thích các tham số vì nó quá quen thuộc rồi.

Có một lưu ý là danh sách column, thứ tự và tên column ở hai lệnh SELECT phải giống nhau nhé.

2. Ví dụ toán tử MINUS

Liệt kê supplier_id có xuất hiện ở bảng suppliers và không xuất hiện ở bảng order_details.

SELECT supplier_id  
FROM suppliers  
MINUS  
SELECT supplier_id  
FROM order_details;  

Quá đơn giản phải không các bạn. 

Bài này mình dừng ở đây, hẹn gặp lại các bạn ở bài tiếp theo.

Trần Trung Dũng

15 chủ đề

2610 bài viết

Cùng chủ đề
0