Izbira zapisov po specifičnih vrednostih v Pythonu
Če morate izbrati zapis iz katere koli
skupine vrednosti polj, lahko uporabite
ukaz IN. Na primer, lahko izberete
zapise, katerih polje name ima
vrednost 'user1', 'user3'
ali 'user4'. To bo izgledalo
tako: WHERE id IN ('user1',
'user3', 'user4').
Načeloma bi lahko za takšne stvari uporabili
tudi ukaz OR,
potem bi prvi primer izgledal takole:
WHERE id=1 OR id=3 OR
id=7 OR id=14 OR id=28.
Variant z IN je vseeno videti preprostejši
in elegantnejši.
Primer
Izberimo uporabnike, katerih polje id
ima vrednosti 1, 3, 5:
query = "SELECT * FROM users WHERE id IN (1, 3, 5)"
Rezultat izvedene 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}
Primer
Ukaz IN je mogoče kombinirati z
drugimi ukazi v poizvedbi. Prepišimo
prejšnji primer in dodatno navedimo,
da mora biti starost uporabnikov večja od
23 let:
query = "SELECT * FROM users WHERE id IN (1, 3, 5) AND age>23"
Rezultat izvedene kode:
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Praktične naloge
Pridobite uporabnike, katerih plača ima
vrednosti 400 in 900.
Pridobite uporabnike, katerih starost je
25, 27 in 28 let. Pri
temer naj bo id večji od 2.