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





















