Выборка записей по конкретным значениям в Python
Если нужно выбрать запись из какой-либо
группы значений полей, можно применить
команду IN
. К примеру, можно выбрать
записи, у которых поле 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
все-таки выглядит проще
и изящнее.
Пример
Выберем юзеров, у которых поле id
имеет значения 1
, 3
, 5
:
query = "SELECT * FROM users WHERE id IN (1, 3, 5)"
Результат выполненного кода:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Пример
Команду IN
можно комбинировать с
другими командами в запросе. Давайте
перепишем предыдущий пример, указав еще,
что возраст юзеров должен быть более
23
лет:
query = "SELECT * FROM users WHERE id IN (1, 3, 5) AND age>23"
Результат выполненного кода:
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Практические задачи
Достаньте юзеров, у которых зарплата имеет
значения 400
и 900
.
Достаньте юзеров, возраст которых составляет
25
, 27
и 28
лет. При
этом id более 2
.