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