PostgreSQL Существует с примером выбора, вставки, обновления и удаления

Что существует в PostgreSQL?

" PostgreSQL СУЩЕСТВУЕТ оператор проверяет, существуют ли строки в подзапросе. Это означает, что оператор используется вместе с подзапросом. Говорят, что оператор Exists выполнен, если в подзапросе найдена хотя бы одна строка. Эту операцию можно использовать вместе с операторами SELECT, UPDATE, INSERT и DELETE.

Синтаксис запроса Postgres Exists

Вот синтаксис для PostgreSQL СУЩЕСТВУЕТ заявление:

WHERE EXISTS (subquery);

Приведенный выше синтаксис показывает, что оператор EXISTS принимает аргумент, который является подзапросом. Подзапрос — это просто Оператор SELECT он должен начинаться с SELECT * вместо списка имен столбцов или выражений.

PostgreSQL Существует с оператором SELECT

Давайте посмотрим, как использовать оператор SELECT с оператором EXISTS. У нас есть следующие таблицы:

Книга:

PostgreSQL Существует с оператором SELECT

Цена:

PostgreSQL Существует с оператором SELECT

Выполните следующий оператор:

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

Это возвращает следующее:

PostgreSQL Существует с оператором SELECT

Приведенная выше команда должна вернуть все записи в таблице Book, идентификатор которых соответствует идентификатору любой записи подзапроса. Сопоставлен только один идентификатор. Следовательно, была возвращена только одна запись.

PostgreSQL Существует с оператором INSERT

Мы можем использовать оператор EXISTS в Инструкция INSERT. У нас есть следующие 3 таблицы:

Книга:

PostgreSQL Существует с оператором INSERT

Цена:

PostgreSQL Существует с оператором INSERT

Цена2:

PostgreSQL Существует с оператором INSERT

Затем мы можем запустить следующий оператор:

INSERT INTO Price
SELECT id, price
FROM Price2
WHERE EXISTS (SELECT id
              FROM Book
              WHERE Book.id = Price2.id);

Таблица цен теперь выглядит следующим образом:

PostgreSQL Существует с оператором INSERT

Сопоставлена ​​строка с идентификатором 5 в таблице Price2. Затем эта запись была вставлена ​​в таблицу цен.

Postgres существует с оператором UPDATE

Мы можем использовать оператор EXISTS в инструкции UPDATE.

Выполните следующий запрос:

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 существует с оператором UPDATE

Мы обновляем столбец цен таблицы цен. Наша цель — сделать так, чтобы цены на товары с одинаковым идентификатором были одинаковыми. Сопоставлена ​​только одна строка, то есть 5.

Однако, поскольку цены равны, то есть 205, никакого обновления не было. Если бы была разница, было бы сделано обновление.

Postgres существует с оператором DELETE

A PostgreSQL Оператор DELETE может использовать оператор EXISTS. Вот пример:

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

Таблица цен теперь выглядит следующим образом:

Postgres существует с оператором DELETE

Строка с идентификатором 5 была удалена.

PostgreSQL Заявление Exists с использованием pgAdmin

Теперь посмотрим, как эти действия можно выполнить с помощью pgAdmin:

Как использовать запрос Exists в PostgreSQL с оператором SELECT с использованием pgAdmin

Ниже приведены шаги по использованию запроса Exists в PostgreSQL с инструкцией SELECT с использованием pgAdmin:

Шаг 1) Войдите в свою учетную запись pgAdmin.

Откройте pgAdmin и войдите в свою учетную запись, используя свои учетные данные.

Шаг 2) Создайте демонстрационную базу данных

  1. На панели навигации слева нажмите «Базы данных».
  2. Нажмите Демо.

PostgreSQL Заявление Exists с использованием pgAdmin

Шаг 3) Введите запрос

Введите приведенный ниже запрос в редакторе запросов:

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

Шаг 4) Выполните запрос

Нажмите кнопку «Выполнить»

PostgreSQL Заявление Exists с использованием pgAdmin

Он должен вернуть следующее:

PostgreSQL Заявление Exists с использованием pgAdmin

С заявлением INSERT

Чтобы сделать то же самое через pgAdmin, сделайте следующее:

Шаг 1) Войдите в свою учетную запись pgAdmin.

Шаг 2)

  1. На панели навигации слева нажмите «Базы данных».
  2. Нажмите Демо.

Заявление существует в PostgreSQL используя pgAdmin

Шаг 3) Введите запрос в редакторе запросов:

INSERT INTO Price
SELECT id, price
FROM Price2
WHERE EXISTS (SELECT id
              FROM Book
              WHERE Book.id = Price2.id);

Шаг 4) Нажмите кнопку «Выполнить».

Заявление существует в PostgreSQL используя pgAdmin

Таблица цен теперь должна выглядеть следующим образом:

Заявление существует в PostgreSQL используя pgAdmin

С заявлением ОБНОВЛЕНИЯ

Чтобы сделать то же самое через pgAdmin, сделайте следующее:

Шаг 1) Войдите в свою учетную запись pgAdmin.

Шаг 2)

  1. На панели навигации слева нажмите «Базы данных».
  2. Нажмите Демо.

Заявление существует в PostgreSQL используя pgAdmin

Шаг 3) Введите запрос в редакторе запросов:

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);

Шаг 4) Нажмите кнопку «Выполнить».

PostgreSQL Заявление Exists с использованием pgAdmin

Таблица цен теперь должна выглядеть следующим образом:

PostgreSQL Заявление Exists с использованием pgAdmin

С оператором DELETE

Чтобы сделать то же самое через pgAdmin, сделайте следующее:

Шаг 1) Войдите в свою учетную запись pgAdmin.

Шаг 2)

  1. На панели навигации слева нажмите «Базы данных».
  2. Нажмите Демо.

PostgreSQL Заявление Exists с использованием pgAdmin

Шаг 3) Введите запрос в редакторе запросов:

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

Шаг 4) Нажмите кнопку «Выполнить».

PostgreSQL Заявление Exists с использованием pgAdmin

Таблица цен теперь должна выглядеть следующим образом:

PostgreSQL Заявление Exists с использованием pgAdmin

Итого

  • Оператор EXISTS проверяет, существуют ли строки в подзапросе.
  • Он используется с подзапросом и считается выполненным, когда подзапрос возвращает хотя бы одну строку.
  • Он используется вместе с операторами SELECT, UPDATE, INSERT и DELETE.

Загрузите базу данных, используемую в этом руководстве.