Команда IN

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

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

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

Синтаксис

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

Таблицы для примеров

таблица employees
id
айди
name
имя
age
возраст
salary
зарплата
1 user1 23 400
2 user2 25 500
3 user3 23 500
4 user4 30 900
5 user5 27 500
6 user6 28 900

Пример

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

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

Результат выполнения кода:

id
айди
name
имя
age
возраст
salary
зарплата
1 user1 23 400
3 user3 23 500
5 user5 27 500

Пример

Давайте выберем из таблицы записи с именами 'user1', 'user4', 'user6':

SELECT * FROM employees WHERE id IN ('user1', 'user4', 'user6')

Результат выполнения кода:

id
айди
name
имя
age
возраст
salary
зарплата
1 user1 23 400
4 user4 30 900
6 user6 28 900

Смотрите также

  • команду NOT,
    которая делает отрицание (так: NOT IN)
  • команду BETWEEN,
    которая выбирает записи по диапазону значений