Выборка записей по конкретным значениям в 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.