Rozważ przykład EMP
tabeli w tym linku.
Konkretnie to zapytanie -
SELECT e1.empno, e1.sal
FROM emp e1
WHERE e1.sal > ANY (SELECT e2.sal
FROM emp e2
WHERE e2.deptno = 20);
W przypadku JAKICHKOLWIEK pytanie, które zadajesz, brzmi:„Czy moja pensja jest wyższa niż ktokolwiek w dziale 20 (przynajmniej 1 osoba)”. Oznacza to, że masz nadzieję, że co najmniej jeden osoba ma pensję mniejszą niż ty. Gdy nie ma wierszy, zwraca FALSE
ponieważ nie ma nikogo, kto miałby niższą pensję niż ty, miałeś nadzieję na przynajmniej jedną.
W przypadku WSZYSTKICH oczywistym pytaniem, które byś zadał, jest „Czy moja pensja jest większa niż wszyscy?”. Reformując to jako „Czy nie ma nikogo, kto ma wyższą pensję ode mnie?” Jeśli nie zostaną zwrócone żadne wiersze, Twoja odpowiedź to TRUE
, ponieważ „rzeczywiście nie ma nikogo, kto miałby większe wynagrodzenie niż ja.