Hãy xem xét ví dụ về EMP
trong liên kết đó.
Cụ thể là truy vấn này -
SELECT e1.empno, e1.sal
FROM emp e1
WHERE e1.sal > ANY (SELECT e2.sal
FROM emp e2
WHERE e2.deptno = 20);
Trong trường hợp BẤT KỲ, câu hỏi bạn đang hỏi là "Lương của tôi có lớn hơn bất kỳ ai trong bộ phận 20 (ít nhất 1 người)". Điều này có nghĩa là bạn đang hy vọng ít nhất một người có mức lương thấp hơn bạn. Khi không có hàng, nó trả về FALSE
bởi vì không có ai có mức lương thấp hơn bạn, bạn đã hy vọng ít nhất một người.
Trong trường hợp TẤT CẢ, câu hỏi rõ ràng bạn sẽ hỏi là "Lương của tôi có lớn hơn mọi người không?". Nói lại điều đó là "Có ai có mức lương cao hơn tôi không?" Khi không có hàng nào được trả lại, câu trả lời của bạn là TRUE
, bởi vì "thực sự không có ai có mức lương cao hơn tôi.