PostgreSQL Existe con ejemplo de Seleccionar, Insertar, Actualizar y Eliminar

Lo que existe en PostgreSQL?

El PostgreSQL EXISTE El operador Exists comprueba si existe una o más filas en una subconsulta. Esto significa que el operador se utiliza junto con una subconsulta. Se dice que el operador Exists se cumple cuando se encuentra al menos una fila en la subconsulta. Puede utilizar esta operación junto con las instrucciones SELECT, UPDATE, INSERT y DELETE.

Postgres existe sintaxis de consulta

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 declaración SELECT

Veamos cómo utilizar una sentencia SELECT con el operador EXISTS. Tenemos las siguientes tablas:

Libro:

PostgreSQL Existe con la declaración SELECT

Precio:

PostgreSQL Existe con la declaración SELECT

Ejecute la siguiente declaración:

SELECT *
FROM Book
WHERE EXISTS (SELECT *
              FROM Price
              WHERE Book.id = Price.id);

Esto devuelve lo siguiente:

PostgreSQL Existe con la declaración SELECT

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 declaración INSERT

Podemos usar el operador EXISTS en un INSERTAR declaraciónTenemos las siguientes 3 tablas:

Libro:

PostgreSQL Existe con la declaración INSERT

Precio:

PostgreSQL Existe con la declaración INSERT

Precio2:

PostgreSQL Existe con la declaración INSERT

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:

PostgreSQL Existe con la declaración INSERT

La fila con una identificación de 5 en la tabla denominada Precio2 coincidió. Luego, este registro se insertó en la tabla de precios.

Postgres existe con la 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);

Postgres existe con la declaración UPDATE

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.

Postgres existe con la declaració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:

Postgres existe con la declaración DELETE

Se ha eliminado la fila con una identificación de 5.

PostgreSQL Existe declaración usando pgAdmin

Ahora veamos cómo se pueden realizar estas acciones usando pgAdmin:

Cómo utilizar la consulta existe en PostgreSQL con instrucción SELECT usando pgAdmin

A continuación se detallan los pasos para utilizar la consulta Existe en PostgreSQL con instrucción SELECT usando pgAdmin:

Paso 1) Inicie sesión en su cuenta pgAdmin

Abra pgAdmin e inicie sesión en su cuenta usando sus credenciales

Paso 2) Cree una base de datos de demostración

  1. Desde la barra de navegación de la izquierda, haga clic en Bases de datos.
  2. Haga clic en Demostración.

PostgreSQL Existe declaración usando pgAdmin

Paso 3) Escriba la consulta

Escriba la siguiente consulta en el editor de consultas:

SELECT *
FROM Book
WHERE EXISTS (SELECT *
              FROM Price
              WHERE Book.id = Price.id);

Paso 4) Ejecutar la consulta

Haga clic en el botón Ejecutar

PostgreSQL Existe declaración usando pgAdmin

Debería devolver lo siguiente:

PostgreSQL Existe declaración usando pgAdmin

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)

  1. Desde la barra de navegación de la izquierda, haga clic en Bases de datos.
  2. Haga clic en Demostración.

Existe declaración en PostgreSQL usando pgAdmin

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.

Existe declaración en PostgreSQL usando pgAdmin

La tabla de precios ahora debería ser la siguiente:

Existe declaración en PostgreSQL usando pgAdmin

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)

  1. Desde la barra de navegación de la izquierda, haga clic en Bases de datos.
  2. Haga clic en Demostración.

Existe declaración en PostgreSQL usando pgAdmin

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.

PostgreSQL Existe declaración usando pgAdmin

La tabla de precios ahora debería ser la siguiente:

PostgreSQL Existe declaración usando pgAdmin

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)

  1. Desde la barra de navegación de la izquierda, haga clic en Bases de datos.
  2. Haga clic en Demostración.

PostgreSQL Existe declaración usando pgAdmin

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.

PostgreSQL Existe declaración usando pgAdmin

La tabla de precios ahora debería ser la siguiente:

PostgreSQL Existe declaración usando pgAdmin

Resum

  • El operador EXISTS prueba si existe una o más filas en una subconsulta.
  • Se utiliza con una subconsulta y se dice que se cumple cuando la subconsulta devuelve al menos una fila.
  • Se utiliza junto con las declaraciones SELECT, UPDATE, INSERT y DELETE.

Descargue la Base de Datos utilizada en este Tutorial