Considera l'esempio di EMP
tabella in quel link.
In particolare questa query -
SELECT e1.empno, e1.sal
FROM emp e1
WHERE e1.sal > ANY (SELECT e2.sal
FROM emp e2
WHERE e2.deptno = 20);
In caso di QUALSIASI, la domanda che stai ponendo è "Il mio stipendio è maggiore di chiunque altro nel dipartimento 20 (almeno 1 persona)". Ciò significa che speri almeno uno persona ha uno stipendio inferiore a te. Quando non ci sono righe, restituisce FALSE
perché non c'è nessuno il cui stipendio è inferiore a te, speravi almeno in uno.
Nel caso di TUTTI, la domanda ovvia che ti faresti è "Il mio stipendio è maggiore di tutti?". Riformulandolo come "Non c'è nessuno che ha uno stipendio maggiore di me?" Quando non ci sono righe restituite, la tua risposta è TRUE
, perché "non c'è davvero nessuno il cui stipendio sia maggiore di me.