PostgreSQL IN, no IN con ejemplos
ยฟQuรฉ es 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:
Resumen
- 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.














