Toán tử MINUS trong Oracle
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.
Bài viết này được đăng tại [free tuts .net]
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.
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.