Výber záznamov podľa konkrétnych hodnôt v Pythone
Ak je potrebné vybrať záznam z nejakej
skupiny hodnôt polí, možno použiť
príkaz IN. Napríklad, možno vybrať
záznamy, ktorých pole name má
hodnotu 'user1', 'user3'
alebo 'user4'. Bude to vyzerať
takto: WHERE id IN ('user1',
'user3', 'user4').
V zásade, na takéto veci možno použiť
aj príkaz OR,
potom prvý príklad bude vyzerať takto:
WHERE id=1 OR id=3 OR
id=7 OR id=14 OR id=28.
Variant s IN vyzerá jednoduchšie
a elegantnejšie.
Príklad
Vyberme používateľov, ktorých pole id
má hodnoty 1, 3, 5:
query = "SELECT * FROM users WHERE id IN (1, 3, 5)"
Výsledok vykonaného kódu:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Príklad
Príkaz IN možno kombinovať s
inými príkazmi v dopytu. Prepíšme
predchádzajúci príklad, pričom uvedieme,
že vek používateľov musí byť viac ako
23 rokov:
query = "SELECT * FROM users WHERE id IN (1, 3, 5) AND age>23"
Výsledok vykonaného kódu:
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Praktické úlohy
Získajte používateľov, ktorých plat má
hodnoty 400 a 900.
Získajte používateľov, ktorých vek je
25, 27 a 28 rokov. Pri
tom id viac ako 2.