PostgreSQL IN, no IN con ejemplos
¿Qué es el PostgreSQL En ?
El operador IN se utiliza en una cláusula WHERE que permite comprobar si un valor está presente en una lista de otros valores. OperaLa función ayuda a reducir la necesidad de múltiples condiciones OR en declaraciones SELECT, UPDATE, INSERT o DELETE.
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 demostrar cómo puede utilizar el operador IN con valores de caracteres.
Considere la siguiente tabla:
Empleados:
Ejecutemos la siguiente consulta en la tabla anterior:
SELECT * FROM Employees WHERE name IN ('James John', 'Mercy Bush', 'Kate Joel');
Devuelve lo siguiente:
Tenemos una lista de tres nombres. Buscamos si podemos encontrar alguno de estos nombres en la columna de nombres de la tabla Empleados. Se encontró que Kate Joel coincidía con uno de los registros de la tabla y se obtuvieron sus detalles.
Con numérico
Ahora, veamos cómo podemos utilizar el operador IN con valores numéricos.
Considere la tabla de precios que figura a continuación:
Precio:
Podemos ejecutar la siguiente consulta en la tabla:
SELECT * FROM Price WHERE 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 incluidos en la columna de precio de la tabla de precios. Se han encontrado dos valores coincidentes y se han obtenido sus detalles.
Uso del operador NOT
El operador IN se puede utilizar junto con el operador NOT. Devuelve los valores que no se encuentran en la columna especificada. Para demostrarlo, utilizaremos la tabla Price.
SELECT * FROM Price WHERE 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 formen parte de la lista. No se encontraron dos valores, 250 y 300, por lo que se han devuelto sus detalles.
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)
- Desde la barra de navegación de la izquierda, haga clic en Bases de datos.
- Haga clic en Demostración.
Paso 3) Escriba la consulta en el editor de consultas:
SELECT * FROM Employees WHERE 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)
- Desde la barra de navegación de la izquierda, haga clic en Bases de datos.
- Haga clic en Demostración.
Paso 3) Escriba la consulta en el editor de consultas:
SELECT * FROM Price WHERE price IN (200, 308, 250, 550);
Paso 4) Haga clic en el botón Ejecutar.
Debería devolver lo siguiente:
Uso del operador NOT
Para lograr lo mismo a través de pgAdmin, haga esto:
Paso 1) Inicie sesión en su cuenta pgAdmin.
Paso 2)
- Desde la barra de navegación de la izquierda, haga clic en Bases de datos.
- Haga clic en Demostración.
Paso 3) Escriba la consulta en el editor de consultas:
SELECT * FROM Price WHERE price NOT IN (200, 400, 190, 230);
Paso 4) Haga clic en el botón Ejecutar.
Debería devolver lo siguiente:
Resum
- El operador IN se utiliza con el operador WHERE y permite comprobar si un valor determinado 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 estar entre comillas simples.
- El operador IN también se puede utilizar con valores numéricos.
- Cuando el operador IN se utiliza 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