Henting av poster etter spesifikke verdier i Python
Hvis du trenger å velge en post fra en
gruppe av feltverdier, kan du bruke
kommandoen IN. For eksempel kan du velge
poster hvor feltet name har
verdien 'user1', 'user3'
eller 'user4'. Det vil se slik ut:
WHERE id IN ('user1',
'user3', 'user4').
I prinsippet kan du også bruke
kommandoen OR
for slike ting,
da vil det første eksemplet se slik ut:
WHERE id=1 OR id=3 OR
id=7 OR id=14 OR id=28.
Alternativet med IN ser likevel enklere
og mer elegant ut.
Eksempel
La oss velge brukere hvor feltet id
har verdiene 1, 3, 5:
query = "SELECT * FROM users WHERE id IN (1, 3, 5)"
Resultatet av utført kode:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Eksempel
Kommandoen IN kan kombineres med
andre kommandoer i en spørring. La oss
omskrive forrige eksempel og også spesifisere
at brukernes alder må være over
23 år:
query = "SELECT * FROM users WHERE id IN (1, 3, 5) AND age>23"
Resultatet av utført kode:
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Praktiske oppgaver
Hent brukere hvor lønn har
verdiene 400 og 900.
Hent brukere hvor alder er
25, 27 og 28 år.
Samtidig skal id være større enn 2.