PostgreSQL IN, Not IN с примерами
Что такое PostgreSQL В ?
Оператор IN используется в предложении WHERE, которое позволяет проверить, присутствует ли значение в списке других значений. OperaЭто помогает уменьшить необходимость использования нескольких условий ИЛИ в операторах SELECT, UPDATE, INSERT или DELETE.
Синтаксис
Оператор 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 числовыми значениями. Мы проверяем столбец цен таблицы цен на наличие значений, которые не являются частью списка. Два значения, 250 и 300, не найдены. Следовательно, их данные были возвращены.
Использование pgAdmin
Теперь посмотрим, как действия можно выполнить с помощью pgAdmin.
С характером
Чтобы сделать то же самое через pgAdmin, сделайте следующее:
Шаг 1) Войдите в свою учетную запись pgAdmin.
Шаг 2)
- На панели навигации слева нажмите «Базы данных».
- Нажмите Демо.
Шаг 3) Введите запрос в редакторе запросов:
SELECT *
FROM Employees
WHERE name IN ('James John', 'Mercy Bush', 'Kate Joel');
Шаг 4) Нажмите кнопку «Выполнить».
Он должен вернуть следующее:
С числовыми
Чтобы сделать то же самое через pgAdmin, сделайте следующее:
Шаг 1) Войдите в свою учетную запись pgAdmin.
Шаг 2)
- На панели навигации слева нажмите «Базы данных».
- Нажмите Демо.
Шаг 3) Введите запрос в редакторе запросов:
SELECT * FROM Price WHERE price IN (200, 308, 250, 550);
Шаг 4) Нажмите кнопку «Выполнить».
Он должен вернуть следующее:
Использование оператора NOT
Чтобы сделать то же самое через pgAdmin, сделайте следующее:
Шаг 1) Войдите в свою учетную запись pgAdmin.
Шаг 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, он возвращает все значения, которых нет в указанном столбце.














