Команда 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...)
Таблицы для примеров
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 |