Udtagelse af poster efter specifikke værdier i Python
Hvis du har brug for at vælge en post fra en
gruppe af feltværdier, kan du bruge
kommandoen IN. For eksempel kan du vælge
poster, hvor feltet name har
værdien 'user1', 'user3'
eller 'user4'. Det vil se sådan ud:
WHERE id IN ('user1',
'user3', 'user4').
I princippet kan du også bruge
kommandoen OR til sådanne ting,
så vil det første eksempel se sådan ud:
WHERE id=1 OR id=3 OR
id=7 OR id=14 OR id=28.
Alligevel ser varianten med IN enklere ud
og mere elegant.
Eksempel
Lad os vælge brugere, hvor feltet id
har værdierne 1, 3, 5:
query = "SELECT * FROM users WHERE id IN (1, 3, 5)"
Resultatet af den udførte 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 forespørgslen. Lad os
omskrive det forrige eksempel og også specificere,
at brugernes alder skal være over
23 år:
query = "SELECT * FROM users WHERE id IN (1, 3, 5) AND age>23"
Resultatet af den udførte kode:
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Praktiske opgaver
Hent brugere, hvis løn har
værdierne 400 og 900.
Hent brugere, hvis alder er
25, 27 og 28 år.
Samtidig skal id være større end 2.