Urval av poster efter specifika värden i Python
Om du behöver välja en post från en viss
grupp av fältvärden kan du använda
kommandot IN. Till exempel kan du välja
poster där fältet name har
värdena 'user1', 'user3'
eller 'user4'. Det kommer att se ut
så här: WHERE id IN ('user1',
'user3', 'user4').
I princip kan du också använda
kommandot OR för sådana saker,
då skulle det första exemplet se ut så här:
WHERE id=1 OR id=3 OR
id=7 OR id=14 OR id=28.
Varianten med IN ser ändå enklare och
mer elegant ut.
Exempel
Låt oss välja användare där fältet id
har värdena 1, 3, 5:
query = "SELECT * FROM users WHERE id IN (1, 3, 5)"
Resultatet av den utförda koden:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Exempel
Kommandot IN kan kombineras med
andra kommandon i frågan. Låt oss
skriva om föregående exempel och även ange
att användarnas ålder måste vara över
23 år:
query = "SELECT * FROM users WHERE id IN (1, 3, 5) AND age>23"
Resultatet av den utförda koden:
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Praktiska uppgifter
Hämta användare vars lön har
värdena 400 och 900.
Hämta användare vars ålder är
25, 27 och 28 år. Med
villkoret att id är större än 2.