PostgreSQL EXISTE con SELECT Operator (Ejemplo)
⚡ Resumen inteligente
PostgreSQL EXISTS es un operador booleano que comprueba si una subconsulta correlacionada devuelve alguna fila, lo que permite que las sentencias SELECT, INSERT, UPDATE y DELETE filtren los datos de forma eficiente según la presencia o ausencia de registros coincidentes.

¿Qué es EXISTE en? PostgreSQL?
El PostgreSQL EXISTE El operador EXISTS comprueba si existen filas en una subconsulta. Esto significa que se utiliza junto con una subconsulta. Se considera que el operador EXISTS ha encontrado al menos una fila en la subconsulta. Puede utilizar esta operación junto con las sentencias SELECT, UPDATE, INSERT y DELETE.
PostgreSQL Sintaxis de consulta EXISTS
Aquí está la sintaxis para el PostgreSQL EXISTE declaración:
WHERE EXISTS (subquery);
La sintaxis anterior muestra que el operador EXISTS acepta un argumento, que es una subconsulta. La subconsulta es simplemente una Instrucción SELECT eso debería comenzar con SELECT * en lugar de una lista de nombres de columnas o expresiones.
PostgreSQL EXISTE con la instrucción SELECT
Veamos cómo usar una sentencia SELECT con el operador EXISTS. Tenemos las siguientes tablas:
Libro:
Precio:
Ejecute la siguiente declaración:
SELECT * FROM Book WHERE EXISTS (SELECT * FROM Price WHERE Book.id = Price.id);
Esto devuelve lo siguiente:
El comando anterior debería devolver todos los registros de la tabla Libro cuya identificación coincida con la identificación de cualquier registro de la subconsulta. Solo coincidió una identificación. Por lo tanto, sólo se devolvió un registro.
PostgreSQL EXISTE con la instrucción INSERT
Podemos usar el operador EXISTS en un INSERTAR declaraciónTenemos las siguientes 3 tablas:
Libro:
Precio:
Precio2:
Luego podemos ejecutar la siguiente declaración:
INSERT INTO Price SELECT id, price FROM Price2 WHERE EXISTS (SELECT id FROM Book WHERE Book.id = Price2.id);
La tabla de precios ahora es la siguiente:
La fila con una identificación de 5 en la tabla denominada Precio2 coincidió. Luego, este registro se insertó en la tabla de precios.
PostgreSQL EXISTE con declaración UPDATE
Podemos utilizar el operador EXISTS en una declaración UPDATE.
Ejecute la siguiente consulta:
UPDATE Price SET price = (SELECT price FROM Price2 WHERE Price2.id = Price.id) WHERE EXISTS (SELECT id, price FROM Price2 WHERE Price2.id = Price.id);
Estamos actualizando la columna de precios de la tabla de precios. Nuestro objetivo es que los precios de los artículos que comparten una identificación sean iguales. Sólo coincidió una fila, es decir, 5.
Sin embargo, como los precios son iguales, es decir 205, no se realizó ninguna actualización. Si hubiera una diferencia, se habría realizado una actualización.
PostgreSQL EXISTE con la instrucción DELETE
A PostgreSQL La instrucción DELETE puede utilizar el operador EXISTS. A continuación se muestra un ejemplo:
DELETE FROM Price WHERE EXISTS (SELECT * FROM Price2 WHERE Price.id = Price2.id);
La tabla de precios ahora es la siguiente:
Se ha eliminado la fila con una identificación de 5.
PostgreSQL Declaración EXISTS usando pgAdmin
Más allá de la consola SQL, las mismas consultas EXISTS se pueden ejecutar visualmente a través de la interfaz pgAdmin. Veamos ahora cómo se pueden realizar estas acciones usando pgAdmin:
Con la instrucción SELECT
A continuación se detallan los pasos para utilizar una consulta EXISTS en PostgreSQL con una instrucción SELECT usando pgAdmin:
Paso 1) Inicia sesión en tu cuenta de pgAdmin. Abre pgAdmin e inicia sesión en tu cuenta con tus credenciales.
Paso 2) Crea una base de datos de demostración.
- En la barra de navegación de la izquierda, haga clic en Bases de datos.
- Haga clic en Demostración.
Paso 3) Escriba la siguiente consulta en el editor de consultas:
SELECT * FROM Book WHERE EXISTS (SELECT * FROM Price WHERE Book.id = Price.id);
Paso 4) Haga clic en el botón Ejecutar.
Debería devolver lo siguiente:
Con declaración INSERT
Para lograr lo mismo a través de pgAdmin, haga esto:
Paso 1) Inicie sesión en su cuenta pgAdmin.
Paso 2)
- En 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:
INSERT INTO Price SELECT id, price FROM Price2 WHERE EXISTS (SELECT id FROM Book WHERE Book.id = Price2.id);
Paso 4) Haga clic en el botón Ejecutar.
La tabla de precios ahora debería ser la siguiente:
Con declaración de ACTUALIZACIÓN
Para lograr lo mismo a través de pgAdmin, haga esto:
Paso 1) Inicie sesión en su cuenta pgAdmin.
Paso 2)
- En 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:
UPDATE Price SET price = (SELECT price FROM Price2 WHERE Price2.id = Price.id) WHERE EXISTS (SELECT id, price FROM Price2 WHERE Price2.id = Price.id);
Paso 4) Haga clic en el botón Ejecutar.
La tabla de precios ahora debería ser la siguiente:
Con declaración DELETE
Para lograr lo mismo a través de pgAdmin, haga esto:
Paso 1) Inicie sesión en su cuenta pgAdmin.
Paso 2)
- En 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:
DELETE FROM Price WHERE EXISTS (SELECT * FROM Price2 WHERE Price.id = Price2.id);
Paso 4) Haga clic en el botón Ejecutar.
La tabla de precios ahora debería ser la siguiente:
Descargue la Base de Datos utilizada en este Tutorial





















