Saltar al contenido

Clausula sql in vs exists

Aprenderá a usar el operador SQL IN para seleccionar filas cuyos valores de columna están en un conjunto de valores. ademas aprenderá la diferencia que existe con la función Exists de sql .

SQL IN o Exists

La clausula IN se usa en una cláusula WHERE para filtrar registros cuyos valores están en un conjunto. A diferencia del operador EXISTS que solo valida que exista registros en la tabla. Con clausula el programa de base de datos ejecuta la lectura de todos los registros dentro de tu consulta. Puede usar la sentencia IN al igual que el operador EXISTS en cualquier declaración SQL que acepte la cláusula WHERE como SELECT, UPDATE o DELETE.

Comando IN de SQL

  1. SELECT     column1, column2 FROM table_name
    1. WHERE   (expr | column) IN (valor1, valor2, …);

El operador IN selecciona todos los registro que cumplen con la sub-consulta o lista de valores indicados es decir, si valor1, valor2 se encuentran en tu consulta el resultado consultado solo mostrara los registros que cumplan con esta condición.

Ejemplos de uso SQL IN

  1. SELECT [City]
  2. FROM [City]
  3. where City in(‘Ottawa’,’Burnaby’,’Seattle’,’Joliet’)
consulta operador in vs exits

IN o OR

El operador IN le ayuda a evitar el uso de varios operadores OR en la cláusula WHERE. Puede reescribir la consulta anterior utilizando varios operadores OR como la siguiente consulta:

  1. SELECT [City]
  2. FROM [City]
  3. where City =’Ottawa’ or City =’Burnaby’ or City =’Seattle’ or City =’Joliet’
consulta where con operador or

Con el uso del OR, el sistema de base de datos utilizados debe evaluar cada condición de forma individual para poder mostrar el resultado de la consulta a diferencia del operador IN en el cual solo lee un listado.

SQL IN operador NOT

Al utilizar la función IN en conjunto con el operador not solo indicamos que el resultado de nuestra consulta debe excluir la lista de valores indicadas en el IN.

  1. SELECT [City]
  2. FROM [City]
  3. where City NOT IN(‘Ottawa’,’Burnaby’,’Seattle’,’Joliet’)

Para este caso nuestro resultado seria un listado de ciudades donde se excluye el listado de listados que se indica en la sentencia IN.

SQL IN utilizando consultas

Debemos utilizar estas condición cuando deseamos excluir los valores de una tabla en especifica. el gestor de base de datos estaria ejecutando la sentencia de la subconsulta dentro del IN y luego ejecutando la operacion de consulta indicada favor ver ejemplo»

  1. SELECT [City]
  2. FROM [customeraddress]
  3. where City IN(select city from City where city = ‘Ottawa’ )

En este caso indicamos que deben ser excluidas del listado de direcciones de clientes los clientes que pertenecen a Ottawa.

De esta forma hemos visto Clausula de sql in vs exists y sus caracteristicas que dentro del motor de base de datos .

hasta la proxima !!

Bye :D!!