Kirjete valimine konkreetsete väärtuste järgi Pythonis
Kui on vaja valida kirjeid mõnest
väljaväärtuste rühmast, saab kasutada
käsku IN. Näiteks saab valida
kirjed, mille väljal name on
väärtus 'user1', 'user3'
või 'user4'. See näeb välja selline:
WHERE id IN ('user1',
'user3', 'user4').
Põhimõtteliselt võib sellistel juhtudel kasutada
ka käsku OR,
siis näeb esimene näide välja selline:
WHERE id=1 OR id=3 OR
id=7 OR id=14 OR id=28.
Variant IN-iga näeb siiski lihtsam
ja elegantsem välja.
Näide
Valime kasutajad, kelle väljal id
on väärtused 1, 3, 5:
query = "SELECT * FROM users WHERE id IN (1, 3, 5)"
Käivitatud koodi tulemus:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Näide
Käsku IN saab kombineerida
teiste käskudega päringus. Kirjutame
eelmise näite ümber, lisades tingimuse,
et kasutajate vanus peab olema üle
23 aasta:
query = "SELECT * FROM users WHERE id IN (1, 3, 5) AND age>23"
Käivitatud koodi tulemus:
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Praktilised ülesanded
Valige kasutajad, kelle palk on
400 või 900.
Valige kasutajad, kelle vanus on
25, 27 või 28 aastat.
Samal ajal peab id olema suurem kui 2.