Cláusula IN de PostgreSQL

Clausula In De Postgresql



Hay muchas cláusulas que puede utilizar en PostgreSQL. La cláusula IN es una de estas cláusulas y tiene muchos beneficios cuando se comprende cómo usarla, especialmente cuando se combina con la cláusula WHERE. La cláusula IN funciona principalmente con la instrucción SELECT para filtrar cómo desea que se ejecute la consulta. Cuando se ejecuta, la cláusula IN verifica la lista especificada para ver si coincide con los criterios y genera los valores coincidentes.

Comprender cómo trabajar con la cláusula IN de PostgreSQL

En PostgreSQL, se utiliza la cláusula IN con la cláusula WHERE para filtrar la salida comparándola con una lista de valores, y el resultado es un valor booleano.

Aquí está la sintaxis a utilizar:







valor EN (valor1, valor2, valor_n);

La sintaxis dada toma el valor y lo compara con el valor1, el valor2 y el valor_n. Luego devuelve un valor booleano si hay una coincidencia. La lista de valores para comparar puede ser de cualquier tipo literal, incluidas cadenas y números enteros. Además, puede crear una subconsulta como una instrucción SELECT.



Analicemos las diferentes formas de utilizar el operador IN de PostgreSQL.



1. Trabajar con una subconsulta

Como mencionamos anteriormente, el valor a verificar puede ser una subconsulta que extrae los valores mediante una declaración de consulta como SELECT. De esta manera, puede consultar una tabla para verificar los valores de una columna determinada. Usemos la siguiente tabla para nuestro ejemplo:





Supongamos que queremos verificar todos los clientes cuyo 'order_id' podría ser cualquiera de los valores especificados en la sección de consulta. Agregamos el valor objetivo como la primera parte de nuestra declaración y luego usamos la cláusula WHERE con la cláusula IN para crear la consulta.



Así es como aparece nuestra consulta:

PostgreSQL verifica la columna 'order_id' en la tabla 'clientes' y devuelve todos los registros cuyo 'order_id' coincide con cualquiera de los que especificamos entre paréntesis.

Para el primer caso, utilizamos un caso de una lista entera de valores. También podemos compararlo con las cuerdas. Tenga en cuenta que si todas las cadenas que especifica no coinciden con el valor objetivo, no se devuelve nada. El siguiente ejemplo contiene algunas cadenas que no están presentes en nuestra tabla. Estas cadenas se omitirán y solo se mostrarán aquellas cadenas coincidentes en el siguiente resultado:

2. Trabajar con IN(SELECCIONAR)

A veces, es posible que no funcione especificar manualmente la lista de valores. Puede optar por utilizar una instrucción SELECT para obtener una lista de valores de su tabla y utilizarlos para compararlos con el valor objetivo. Agregando la siguiente tabla a nuestra base de datos, podemos combinarla con la tabla anterior “clientes” para realizar nuestra subconsulta:

Digamos que solo queremos mostrar los registros de la tabla 'pedidos' si el valor objetivo (order_id) está en la tabla 'clientes'. Aquí, la columna 'customers.order_id' es nuestra lista de valores y comparamos sus valores con los de la columna 'orders.order_id'.

En este caso, solo tres entradas coinciden con la búsqueda y eso es lo que obtenemos como resultado de nuestra cláusula IN(SELECT) PostgreSQL.

3. Trabajar con la cláusula NOT IN PostgreSQL

Usando el comando anterior, podemos elegir mostrar los otros valores que no coinciden con el valor objetivo. Para eso, hacemos lo contrario de lo que hace la cláusula IN. Por lo tanto, negamos el comando de NO ENTRAR.

Así es como escribimos nuestro nuevo comando:

Observe que obtenemos un resultado diferente al del ejemplo 2. Esto se debe a que estamos trabajando con la cláusula NOT IN en lugar de IN.

Idealmente, puede agregar NOT cuando desee negar los resultados que obtiene con la cláusula IN de PostgreSQL. Las aplicaciones son infinitas. Cuando desee comprobar los valores y ver qué coinciden rápidamente, la cláusula IN es su mejor amiga.

Conclusión

La cláusula IN funciona con la cláusula WHERE para comparar un valor objetivo con una lista de valores. La cláusula IN devuelve un valor booleano que confirma si el valor objetivo coincide con la lista de valores que especificó. Puede especificar los valores como literales o usar la instrucción SELECT para crear una subconsulta para usar. Hemos dado tres ejemplos de cómo se puede utilizar la cláusula IN de PostgreSQL. Con suerte, esto le permitió comprender cómo trabajar con la cláusula IN de PostgreSQL.