Давайте рассмотрим, как работает эта функция и как мы можем ее использовать.
Оператор SQL IN
В следующем фрагменте показан синтаксис оператора IN.
search_value [ НЕТ ] В значение_набор
значение_набор:
{
( выражение [ , ... ] )
| ( подзапрос )
| ПОКА НЕ ( выражение_массива )
}
Функция принимает следующие параметры:
- search_value — это определяет выражение, которое сравнивается с заданным набором значений.
- value_set — набор значений, с которыми сравнивается search_value.
- подзапрос — описывает подзапрос, который возвращает один столбец. Если значения не возвращаются, набор значений пуст.
- UNNEST(массив) – возвращает столбец значений из заданного значения массива.
Затем функция возвращает логическое значение. Он возвращает ИСТИНА, если в данном наборе существует равное значение, и ЛОЖЬ, если нет.
Примеры
В следующем примере показано, как использовать оператор IN с данными столбца. Предположим, у нас есть таблица с образцами данных, как показано ниже:
Мы можем использовать оператор IN для выбора записей, если страна — MySQL или PostgreSQL.
ВЫБРАТЬ
*
ИЗ
БАЗЫ ДАННЫХ
КУДА
ИМЯ СЕРВЕРА В ( 'Майскл' , «Постгрес SQL» ) ;
Приведенный выше запрос должен отображать совпадающие строки, как показано ниже:
Используя оператор IN, мы также можем проверить, существует ли значение в данном столбце. Пример показан ниже:
ВЫБРАТЬ*
ИЗ
БАЗЫ ДАННЫХ Д
КУДА
'Майскл' В ( ИМЯ СЕРВЕРА ) ;
В этом случае мы проверяем, существует ли значение «MySQL» в столбце server_name. Результат такой, как показано:
Хорошо иметь в виду, что если вы указали повторяющиеся значения с оператором IN. SQL отбросит идентичные значения и использует одно из них.
Вывод
В этом кратком посте мы рассмотрели использование оператора IN в стандартном/ANSI SQL. Оператор IN позволяет проверить, существует ли значение в наборе значений.
Спасибо за чтение!!