Учебники

11) PostgreSQL IN

Что такое PostgreSQL?

Оператор IN используется в предложении WHERE, которое позволяет проверить, присутствует ли значение в списке других значений. In Operation помогает уменьшить потребность в нескольких условиях OR в операторах SELECT, UPDATE, INSERT или DELETE.

В этом руководстве по PostgreSQL вы узнаете следующее:

Синтаксис

Оператор IN имеет следующий синтаксис:

value IN (value_1, value_2, ...)

Значение — это значение, которое вы проверяете в списке.

Значение_1, значение_2… являются значениями списка.

Если значение найдено в списке, оператор вернет true.

Список может быть набором строк или даже выходным результатом оператора SELECT, как показано ниже:

value IN (SELECT value FROM table-name);

Оператор, помещенный в круглые скобки, называется подзапросом.

С характером

Давайте продемонстрируем, как вы можете использовать оператор IN с символьными значениями.

Рассмотрим следующую таблицу:

Количество сотрудников:

Давайте запустим следующий запрос к приведенной выше таблице:

SELECT *
FROM Employees
WHERE name IN ('James John', 'Mercy Bush', 'Kate Joel');

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

У нас есть список из трех имен. Мы ищем, сможем ли мы найти какое-либо из этих имен в столбце имени таблицы «Сотрудники». Кейт Джоэл была сопоставлена ​​с одной из записей таблицы, и ее детали были возвращены.

С числовым

Теперь давайте посмотрим, как мы можем использовать оператор IN с числовыми значениями.

Рассмотрим таблицу цен, приведенную ниже:

Цена:

Мы можем выполнить следующий запрос к таблице:

SELECT *
FROM Price
WHERE price IN (200, 308, 250, 550);

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

Мы создали список с 4 числовыми значениями. Мы проверяем, можем ли мы сопоставить любое из этих значений со значениями, содержащимися в столбце цен таблицы «Цена». Два значения были сопоставлены, и их данные были возвращены.

Использование оператора NOT

Оператор IN может использоваться вместе с оператором NOT. Возвращает значения, которые не найдены в указанном столбце. Мы будем использовать таблицу цен, чтобы продемонстрировать это.

SELECT *
FROM Price
WHERE price NOT IN (200, 400, 190, 230);

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

Мы создали список с 4 числовыми значениями. Мы проверяем столбец цен таблицы Price на значения, которые не являются частью списка. Два значения, 250 и 300, не были найдены. Следовательно их детали были возвращены.

Использование pgAdmin

Теперь давайте посмотрим, как действия могут быть выполнены с помощью pgAdmin.

С характером

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

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

Шаг 2)

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

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

SELECT *
FROM Employees
WHERE name IN ('James John', 'Mercy Bush', 'Kate Joel');

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

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

С числовым

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

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

Шаг 2)

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

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

SELECT *
FROM Price
WHERE price IN (200, 308, 250, 550);

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

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

Использование оператора NOT

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

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

Шаг 2)

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

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

SELECT *
FROM Price
WHERE price NOT IN (200, 400, 190, 230);

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

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

Резюме:

  • Оператор IN используется с оператором WHERE. Это позволяет проверить, присутствует ли конкретное значение в конкретной таблице.
  • Оператор IN помогает уменьшить необходимость использования нескольких операторов OR в операторах SELECT, UPDATE, INSERT или DELETE.
  • При создании списка символов для проверки наличия значения каждое значение в списке должно быть заключено в одинарные кавычки.
  • Оператор IN также может использоваться с числовыми значениями.
  • Когда оператор IN используется вместе с оператором NOT, он возвращает все значения, которые не найдены в указанном столбце.

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