Команда IN выбирает записи из базы данных по определенным значениям поля.

К примеру, можно выбрать записи, у которых id имеет значение 1, 3, 7, 14, 28. Это будет выглядеть так: WHERE id IN (1, 3, 7, 14, 28).

Или же все записи, у которых поле name имеет значение 'Дима', 'Вася' или 'Коля'. Это будет выглядеть так: WHERE id IN ('Дима', 'Вася', 'Коля').

В принципе, для таких вещей можно пользоваться и командой OR, тогда первый пример будет выглядеть так: WHERE id=1 OR id=3 OR id=7 OR id=14 OR id=28. Вариант с IN все-таки выглядит проще и изящнее.

См. также команду NOT, которая делает отрицание (к примеру, так: NOT IN).

См. также команду BETWEEN, которая выбирает записи по диапазону значений.

Синтаксис

SELECT * FROM имя_таблицы WHERE поле IN (значение1, значение2...)

Примеры

Все примеры будут по этой таблице workers, если не сказано иное:

id
айди
name
имя
age
возраст
salary
зарплата
1 Дима 23 400
2 Петя 25 500
3 Вася 23 500
4 Коля 30 1000
5 Иван 27 500
6 Кирилл 28 1000

Пример

Давайте выберем записи с id, равным 1, 3 и 5:

SELECT * FROM workers WHERE id IN (1, 3, 5)

SQL запрос выберет следующие строки:

id
айди
name
имя
age
возраст
salary
зарплата
1 Дима 23 400
3 Вася 23 500
5 Иван 27 500

Пример

Давайте выберем записи с именами 'Дима', 'Коля', 'Кирилл':

SELECT * FROM workers WHERE id IN ('Дима', 'Коля', 'Кирилл')

SQL запрос выберет следующие строки:

id
айди
name
имя
age
возраст
salary
зарплата
1 Дима 23 400
4 Коля 30 1000
6 Кирилл 28 1000