Выбарка запісаў па канкрэтных значэннях у 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.