Оператор SQL IN
Оператор IN
Оператор IN проверяет значение в наборе значений, разделенных запятыми, и извлекает соответствующие строки из таблицы. IN возвращает 1, когда значение поиска, присутствующее в диапазоне, в противном случае возвращает 0.
Синтаксис:
SELECT [имя_столбца ... | выражение] ОТ [имя_таблицы] {ГДЕ | Иметь | {И | OR}} значение [NOT] IN ({comp_value1, comp_value2 [, ...] | подзапрос});
Параметры:
название | Описание |
---|---|
column_name | Имя столбца таблицы. |
выражение | Выражение состоит из одной константы, переменной, скалярной функции или имени столбца и может также быть фрагментами запроса SQL, которые сравнивают значения с другими значениями или выполняют арифметические вычисления. |
table_name | Название стола |
{ГДЕ | Иметь | {И | ИЛИ}} значение | IN работает с предложением WHERE или HAVING. Вы также можете использовать операторы И или ИЛИ для мультиусловия WHERE или предложения HAVING. |
НЕ | Используется для исключения определенных нескольких значений в условии предложения WHERE. |
comp_value1, comp_value2 ... | подзапрос | Список сравнительных значений в скобках или подзапрос, который возвращает одно или несколько значений совместимого типа данных основного запроса. |
Поддержка СУБД: оператор IN
СУБД | команда |
MySQL | поддержанный |
PostgreSQL | поддержанный |
SQL Server | поддержанный |
оракул | поддержанный |
Пример: оператор SQL IN
Чтобы узнать, присутствует ли значение поиска 15 в указанном диапазоне из таблицы DUAL , можно использовать следующую инструкцию SQL:
Код SQL:
SELECT 15 IN (5,10,15,20,56,69)
FROM dual;
Иллюстрированная презентация:
Оператор SQL IN с текстовым значением
Проверочное значение оператора IN может быть строкой, словом или предложением. Эти значения также можно проверить в наборе значений, разделенных запятыми, и получить строки, содержащие эти значения.
Пример:
Пример таблицы: агенты
Здесь мы ищем всех агентов в таблице агентов базы данных инвентаризации, которые имеют рабочую зону штатов Лондон, Мумбаи или Ченнай.
Вот оператор SQL:
Код SQL:
SELECT *
FROM agents
WHERE working_area IN('London','Mumbai','Chennai');
Это утверждение также можно использовать как ниже:
Код SQL:
SELECT *
FROM agents
WHERE working_area='London' OR working_area='Mumbai' OR working_area='Chennai';
Выход:
AGENT_CODE AGENT_NAME WORKING_AREA COMMISSION PHONE_NO COUNTRY ---------- -------------------- -------------------- ---------- --------------- ---------- A003 Алекс Лондон .13 075-12458969 A010 Santakumar Chennai .14 007-22388644 А002 Мукеш Мумбаи .11 029-12358964 A006 McDen London .15 078-22255588
Иллюстрированное представление: оператор SQL IN с текстовым значением
Оператор SQL IN с числовым значением
Как можно искать числовое значение в списке значений, используя оператор IN в операторе выбора?
Пример:
Пример таблицы: агенты
Получить данные всех столбцов из таблицы «агенты» со следующим условием -
1. «Комиссией» для агентов будет любая из .13, .14 и .12,
можно использовать следующий оператор SQL:
Код SQL:
SELECT *
FROM agents
WHERE commission IN (.13,.14,.12);
Выход:
AGENT_CODE AGENT_NAME WORKING_AREA COMMISSION PHONE_NO COUNTRY ---------- -------------------- -------------------- ---------- --------------- ------------ A003 Алекс Лондон .13 075-12458969 A001 Subbarao Bangalore .14 077-12346674 A008 Alford New York .12 044-25874365 A010 Santakumar Chennai .14 007-22388644 A012 Люсида Сан-Хосе .12 044-52981425 A005 Андерсон Брисбан .13 045-21447739
Оператор SQL IN с логическим НЕ
В следующем примере мы обсудили использование оператора IN с логическим оператором NOT в операторе выбора.
Пример:
Пример таблицы: агенты
Получить данные всех столбцов из таблицы «агенты» со следующим условием -
1. «комиссия» для агентов не будет равна .13, .14, .12,
можно использовать следующий оператор SQL:
Код SQL:
SELECT *
FROM agents
WHERE commission NOT IN (.13,.14,.12);
Выход:
AGENT_CODE AGENT_NAME WORKING_AREA COMMISSION PHONE_NO COUNTRY ---------- -------------------- -------------------- ---------- --------------- --------- A009 Бенджамин Хэмпшир .11 008-22536178 A007 Рамасундар Бангалор .15 077-25814763 A011 Рави Кумар Бангалор .15 077-45625874 А002 Мукеш Мумбаи .11 029-12358964 A006 McDen London .15 078-22255588 A004 Иван Торенто .15 008-22544166
Иллюстрированное представление: оператор SQL IN с логическим НЕ
Упражнения по SQL
- Упражнения по SQL, практика, решение
- SQL Получить данные из таблиц [33 Упражнения]
- Булевы и реляционные операторы SQL [12 упражнений]
- Подстановочные знаки SQL и специальные операторы [22 упражнения]
- Агрегатные функции SQL [25 упражнений]
- Вывод запроса форматирования SQL [10 упражнений]
- SQL-запросы к нескольким таблицам [7 упражнений]
- ФИЛЬТРАЦИЯ И СОРТИРОВКА в базе данных персонала [38 упражнений]
- SQL СОЕДИНЯЕТ
- SQL ПОДПИСИ
- SQL Union [9 упражнений]
- SQL View [16 упражнений]
- Управление учетными записями пользователей SQL [16 упражнение]
- База данных фильмов
- ОСНОВНЫЕ запросы к базе данных фильмов [10 упражнений]
- ПОДПИСКИ на фильм База данных [16 упражнений]
- ПРИСОЕДИНЯЕТСЯ к базе данных фильма [24 упражнения]
- Футбольная база
- Вступление
- ОСНОВНЫЕ запросы по футболу базы данных [29 упражнений]
- ПОДПИСКИ по футбольной базе данных [33 упражнения]
- База данных больницы
- База данных сотрудников
- ОСНОВНЫЕ запросы к базе данных сотрудников [115 упражнений]
- БРОНИРОВАНИЕ на сотрудника База данных [77 Упражнения]
- Еще не все!
Хотите улучшить вышеуказанную статью? Вносите свои заметки / комментарии / примеры через Disqus.
Предыдущая: Логические операторы
Далее: МЕЖДУ
Новый контент: Composer: менеджер зависимостей для PHP , R программирования