Tietueiden valinta tiettyjen arvojen perusteella Pythonissa
Jos haluat valita tietueen jostakin
arvojen ryhmästä, voit käyttää
komentoa IN. Esimerkiksi voit valita
tietueet, joiden kentässä name on
arvo 'user1', 'user3'
tai 'user4'. Se näyttää tältä:
WHERE id IN ('user1',
'user3', 'user4').
Periaatteessa tällaisiin asioihin voitaisiin käyttää
myös komentoa OR,
jolloin ensimmäinen esimerkki näyttäisi tältä:
WHERE id=1 OR id=3 OR
id=7 OR id=14 OR id=28.
Vaihtoehto IN on kuitenkin yksinkertaisempi
ja tyylikkäämpi.
Esimerkki
Valitaan käyttäjät, joiden kentän id
arvo on 1, 3 tai 5:
query = "SELECT * FROM users WHERE id IN (1, 3, 5)"
Suoritetun koodin tulos:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Esimerkki
Komentoa IN voidaan yhdistää
muihin komentoihin kyselyssä.
Kirjoitetaan edellinen esimerkki uudelleen ja määritellään lisäksi,
että käyttäjien iän on oltava yli
23 vuotta:
query = "SELECT * FROM users WHERE id IN (1, 3, 5) AND age>23"
Suoritetun koodin tulos:
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Käytännön tehtävät
Hae käyttäjät, joiden palkka on
400 tai 900.
Hae käyttäjät, joiden ikä on
25, 27 tai 28 vuotta. Samalla
id on yli 2.