Any

Publicado el 06 junio 2014 por Jamesrevelo @herprogramacion
El operador ANY es la representación en SQL del cuantificador existencial ("existe..."de lógica de predicados. A diferencia de ALL, este operador incluye a los resultados de la consulta, aquellas filas que cumplan al menos una comparación con todos los registros de otra tabla.

Sintaxis

SELECT ...FROM...WHERE expresión operador ANY(Subconsulta)
Como uso ANY?Debes usar los operadores de comparación para poder crear una condición entre una expresión y los resultados del operador ANY. Dentro del cuantificador debe ir una subconsulta, la cual retornará todos las filas que deseamos comparar.
Cuando debo usar ANY?Cuando desees incluir en los resultados finales de tu consulta aquellos elementos que al ser comparados con los elementos de otra tabla cumplan al menos una vez la condición establecida.
Puedes dar un ejemplo?
Claro!
A continuación usaremos dos tablas con la misma estructura llamadas T1 y T2. Ambas poseen una sola columna de tipo entero llamada ELEMENTO. Cada una contiene 3 registros. La idea es consultar aquellas filas de T1 que sean mayores que al menos una fila de tabla T2.
En otras palabras, significa que si un registro de T1 es mayor o igual que al menos uno de los 3 registros de T2, entonces será incluido en los resultados finales. Veamos:

Para realizar esa consulta usaremos el operador ANY de la siguiente forma:
SELECT T1ELEMENTO AS Resultado_ANY FROM T1WHERE T1ELEMENTO >=             ANY(SELECTT2ELEMENTOFROMT2)
Y el resultado es el siguiente:

Ahora veamos paso a paso el escaneo que hizo nuestro SGBD sobre las tablas, para obtener estos resultados:
Elemento 1 de T1

1>=2    FALSO

1>=2    FALSO


1>=3    FALSO


Elemento 2 de T2

2>=2    VERDADERO

2>=2    VERDADERO

2>=3    FALSO


Elemento 3 de T1

3>=2    VERDADERO


3>=2    VERDADERO

3>=3    VERDADERO


Nota que todas las comparaciones del elemento 1 fueron falsas, por esa razón fue el único elemento que no apareció en el resultado final. En cambio el elemento 2 tuvo dos comparaciones verdaderas y el elemento 3 tuvo todas las comparaciones verdaderas. Ellos si aparecen en el resultado final.
Si hubiese un elemento que hubiera tenido una sola comparación verdadera, también se habría incluido en el resultado. Recuerda que al menos una comparación debe ser verdadera para que ANY incluya el elemento en el resultado final de la consulta.James Revelo Urrea - Desarrollador independiente