Revisamos de forma exhaustivamente cada posts de nuestro sitio web con la meta de enseñarte siempre la información más veraz y actualizada.
Solución:
SQL>
SQL> -- Use the ANY operator in a WHERE clause to compare a value with any of the values in a list.
SQL>
SQL> — Debe colocar un =, <>, <, >, <=, or >= operador antes de ANY.
SQL> SELECT *
2 FROM employee
3 WHERE salary > ANY (2000, 3000, 4000);
Para en operador
SQL> -- Use the IN operator in a WHERE clause to compare a value with any of the values in a list.
SQL> SELECT *
2 FROM employee
3 WHERE salary IN (2000, 3000, 4000);
Pero con el operador IN no puedes usar =, <>, <, >, <=, or >=
EN – Igual a cualquier cosa en la lista
NINGÚN – Compara el valor con cada valor devuelto por la consulta secundaria.
TODOS – Compara el valor con cada valor devuelto por la consulta secundaria.
Por ejemplo:
EN:
¿Mostrar los detalles de todos los empleados cuyos salarios coinciden con las inversiones mínimas de los departamentos?
Select Ename, Sal, Deptno
from Emp
Where Sal IN (Select Min(Sal)
From Emp
Group By Deptno);
NINGÚN:
< ANY significa menor que el valor máximo de la lista.
Obtenga los detalles de todos los empleados que ganan menos que el empleado con mayores ingresos que controla a otros empleados.
Select Empno, Ename, Job, Sal
From Emp
Where Sal < Any (Select Distinct MGR
From Emp);
> ANY significa más que el valor mínimo en la lista.
Obtenga los detalles de todos los empleados que ganan más que los menos pagados del Departamento 10?
Select Empno, Ename, Job, Sal
From Emp
Where Sal > Any (Select Min(Sal)
From Emp
Where Deptno 10);
=CUALQUIERA es equivalente a En Operador.
Nota: ALGUNOS también se usa en lugar de CUALQUIERA.
Quizás para una mejor comprensión, estas dos condiciones son equivalentes. Es una cuestión de gusto cuál usa (siempre que el RDBMS sea compatible con ambos)
... WHERE x IN (SELECT Y FROM THE_TABLE)
... WHERE x =ANY (SELECT Y FROM THE_TABLE)
y estos tambien
... WHERE x NOT IN (SELECT Y FROM THE_TABLE)
... WHERE x <>ALL (SELECT Y FROM THE_TABLE)
En realidad, mi hábito personal es usar IN
para la expresión de lista (como WHERE x IN (2,4,6,8)
y =ANY
resp. <>ALL
para subconsultas.