Sunteți pe pagina 1din 3

SENTENCIAS IN, NOT IN, =ANY, >ANY, <ANY, <=ANY, <=ANY y <>ANY

En SQL la palabra IN se usa en el WHERE, permite localizar uno o varios valores a los
que conduzca la siguiente consulta. Su sintaxis es la siguiente
SELECT Nombre de Atributo
FROM Nombre de tabla
WHERE Nombre de Atributo IN (SELECT Nombre de Atributo
FROM Nombre de Tabla
WHERE condicin);
Los siguientes select pueden ser varios, pero todos anidados debidamente y contenidos
entre parntesis. Por ejemplo, quisiramos seleccionar informacin relacionada con
negocios de Los Angeles y San Diego, en la tabla TIENDAS
TIENDAS
NOMBRE

VENTAS

FECHA

Los Angeles

1500

Enero 2009

San Diego

250

Febrero 2010

San Francisco

300

Enero 2010

Boston

700

Marzo 2011

California

850

Abril 2011

VENDEDORES
NOMBRE

NOMVENDEDOR

RENDIMIENTO

Los Angeles

Jess Escalona

200

Los Angeles

Ral Galndez

800

Los Angeles

Mara Pea

500

San Diego

Carlos Mujica

250

Boston

Benito Maduro

400

Boston

Cecilia Barrios

300

San Francisco

Rosa Carrero

300

Ingresamos
SELECT *
FROM VENDEDORES
WHERE NOMBRE IN (SELECT NOMBRE
FROM TIENDAS
WHERE NOMBRE = Los Angeles or NOMBRE=San
Diego);
La palabra clave ANY, debe seguir a un operador de comparacin
(=,<,>,<=,>=,<>), significa que retorna un valor TRUE si la comparacin es verdadera
para ANY (cualquiera) de los valores en el atributo que retorna la siguiente consulta.
Por ejemplo:
SELECT NOMVENDEDOR
FROM VENDEDORES
WHERE NOMBRE =ANY(SELECT NOMBRE
FROM TIENDAS
WHERE MONTO >500);
La palabra IN es un alias para =ANY, por lo tanto, estos dos comandos son lo
mismo:
SELECT NOMVENDEDOR
FROM VENDEDORES
WHERE NOMBRE IN(SELECT NOMBRE
FROM TIENDAS
WHERE MONTO>500);
El ANY es til cuando el comparador es diferente a =; ms adelante se ver
cuando es necesario usarlo.

La expresin NOT IN, permite expresa la operacin de la teora de conjuntos


sobre el MENOS, o la no existencia de alguna informacin, en el anidamiento de tablas,
por ejemplo si quisiramos saber que tienda no posee vendedores, expresaramos:
SELECT NOMBRE
FROM TIENDAS
WHERE NOMBRE NOT IN(SELECT NOMBRE
FROM VENDEDORES);