Introducción al uso de ALL, ANY y SOME en SQL

Autor: Dian mundo ordinario

Fuente: desarrollo de la base de datos SQL

Hay tres palabras clave en SQL Server que pueden modificar los operadores de comparación: ALL, ANY y SOME, donde ANY y SOME son equivalentes. 

Se utilizan entre operadores de comparación y subconsultas, similar a EXISTS, NOT EXISTS, IN, NOT IN y otros significados lógicos. Estas gramáticas también son compatibles con SQL Server 2000, pero pocas personas las usan. Hoy las presentaremos. Uso.

definición

TODOS: Todos, significa que todos están satisfechos antes de volver verdadero; 

ANY / SOME: es cualquiera, lo que significa que si alguno está satisfecho, devuelve verdadero.

Ejemplo

Creamos dos nuevas tablas Test1 y Test2;

La estructura de la tabla Test1 es la siguiente:

La estructura de la tabla Test2 es la siguiente:

Ejemplo de uso de TODOS

Ejemplo 1

SELECT Num FROM Test2 
DONDE Num> ALL (SELECT Num FROM Test1)

resultado:

De los resultados anteriores, podemos ver que solo 5 en Test2 es mayor que todos los números en Test1.

Ejemplo 2

SELECT Num FROM Test2 
DONDE Num <ALL (SELECT Num FROM Test1)

El resultado es:

De los resultados anteriores, podemos ver que solo 1 en Test2 es menor que todos los números en Test1.

CUALQUIER / ALGUNO ejemplo de uso

Ejemplo

SELECCIONE NUM DE Test2 
DONDE Num> CUALQUIER (SELECCIONE NUM DE Test1) 

SELECCIONE NUM DE Test2 
DONDE Num> ALGUNOS (SELECCIONE NUM DE Test1)

Sus resultados son:

De los resultados anteriores, podemos ver que CUALQUIERA y ALGUNOS son equivalentes, y cualquier número en Prueba2 es mayor que el número en Prueba1. Por ejemplo, 3 en Test2 es mayor que 2.

"= ANY" es lo mismo que "IN"

Ejemplo

SELECT Num FROM Test2 
DONDE Num = CUALQUIER (SELECT Num FROM Test1) 

SELECCIONAR Num FROM Test2 
DONDE Num IN (SELECT Num FROM Test1)

Los resultados son:

Indica que cualquier número en Test1 existe en Test2

"<> TODOS" 与 "NO EN" 相同

Ejemplo

SELECT Num FROM Test2 
WHERE Num <> ALL (SELECT Num FROM Test1) 

SELECT Num FROM Test2 
DONDE Num NOT IN (SELECT Num FROM Test1)

Los resultados son:

Indica que ninguno de los resultados de Test2 existe en Test1. Estas tres palabras clave no se usan comúnmente, pero si sabe lo que significan, simplemente úselas.

 

Supongo que te gusta

Origin blog.csdn.net/yoggieCDA/article/details/108882651
Recomendado
Clasificación