PostgreSQL IN, no IN con ejemplos

¿En qué consiste PostgreSQL?

El operador IN se usa en una cláusula WHERE que permite verificar si un valor está presente en una lista de otros valores. In Operation ayuda a reducir la necesidad de múltiples condiciones OR en las sentencias SELECT, UPDATE, INSERT o DELETE.

En este tutorial de PostgreSQL, aprenderá lo siguiente:

  • ¿En qué consiste PostgreSQL?
  • Sintaxis
  • Con carácter
  • Con numérico
  • Usando el operador NOT
  • Usando pgAdmin

Sintaxis

El operador IN toma la siguiente sintaxis:

value IN (value_1, value_2,… )

El valor es el valor que está buscando en la lista.

El valor_1, valor_2

… Son los valores de la lista.

Si el valor se encuentra en la lista, el operador devolverá un verdadero.

La lista puede ser un conjunto de números de cadenas o incluso el resultado de salida de una instrucción SELECT como se muestra a continuación:

value IN (SELECT value FROM table-name);

La declaración colocada entre paréntesis se conoce como subconsulta.

Con carácter

Permítanos demostrarle cómo puede usar el operador IN con valores de caracteres.

Considere la siguiente tabla:

Empleados:

Ejecutemos la siguiente consulta en la tabla anterior:

SELECT *FROM EmployeesWHERE name IN ('James John', 'Mercy Bush', 'Kate Joel');

Devuelve lo siguiente:

Tenemos una lista de tres nombres. Estamos buscando si podemos encontrar alguno de estos nombres en la columna de nombre de la tabla Empleados. El Kate Joel se hizo coincidir con uno de los registros de la tabla y se devolvieron sus detalles.

Con numérico

Ahora, veamos cómo podemos usar el operador IN con valores numéricos.

Considere la tabla de precios que se muestra a continuación:

Precio:

Podemos ejecutar la siguiente consulta contra la tabla:

SELECT *FROM PriceWHERE price IN (200, 308, 250, 550);

Esto devuelve lo siguiente:

Hemos creado una lista con 4 valores numéricos. Estamos comprobando si podemos hacer coincidir alguno de estos valores con los valores contenidos en la columna de precios de la tabla de precios. Se hicieron coincidir dos valores y se devolvieron sus detalles.

Usando el operador NOT

El operador IN se puede utilizar junto con el operador NOT. Devuelve los valores que no se encuentran en la columna especificada. Usaremos la tabla de precios para demostrar esto.

SELECT *FROM PriceWHERE price NOT IN (200, 400, 190, 230);

Esto devolverá lo siguiente:

Hemos creado una lista con 4 valores numéricos. Estamos comprobando la columna de precios de la tabla de precios en busca de valores que no forman parte de la lista. No se encontraron dos valores, 250 y 300. De ahí que se hayan devuelto sus datos.

Usando pgAdmin

Ahora veamos cómo se pueden realizar las acciones usando pgAdmin.

Con carácter

Para lograr lo mismo a través de pgAdmin, haga esto:

Paso 1) Inicie sesión en su cuenta pgAdmin.

Paso 2)

  1. Desde la barra de navegación de la izquierda, haga clic en Bases de datos.
  2. Haga clic en Demo.

Paso 3) Escriba la consulta en el editor de consultas:

SELECT *FROM EmployeesWHERE name IN ('James John', 'Mercy Bush', 'Kate Joel');

Paso 4) Haga clic en el botón Ejecutar.

Debería devolver lo siguiente:

Con numérico

Para lograr lo mismo a través de pgAdmin, haga esto:

Paso 1) Inicie sesión en su cuenta pgAdmin.

Paso 2)

  1. Desde la barra de navegación de la izquierda, haga clic en Bases de datos.
  2. Haga clic en Demo.

Paso 3) Escriba la consulta en el editor de consultas:

SELECT *FROM PriceWHERE price IN (200, 308, 250, 550);

Paso 4) Haga clic en el botón Ejecutar.

Debería devolver lo siguiente:

Usando el operador NOT

Para lograr lo mismo a través de pgAdmin, haga esto:

Paso 1) Inicie sesión en su cuenta pgAdmin.

Paso 2)

  1. Desde la barra de navegación de la izquierda, haga clic en Bases de datos.
  2. Haga clic en Demo.

Paso 3) Escriba la consulta en el editor de consultas:

SELECT *FROM PriceWHERE price NOT IN (200, 400, 190, 230);

Paso 4) Haga clic en el botón Ejecutar.

Debería devolver lo siguiente:

Resumen:

  • El operador IN se utiliza con el operador WHERE. Permite verificar si un valor particular está presente en una tabla específica.
  • El operador IN ayuda a reducir la necesidad de múltiples operadores OR en las instrucciones SELECT, UPDATE, INSERT o DELETE.
  • Al crear una lista de caracteres para verificar la presencia de un valor, cada valor de la lista debe incluirse entre comillas simples.
  • El operador IN también se puede utilizar con valores numéricos.
  • Cuando el operador IN se usa junto con el operador NOT, devuelve todos los valores que no se encuentran en la columna especificada.

Descargue la base de datos utilizada en este tutorial

Articulos interesantes...