Výběr záznamů podle konkrétních hodnot v Pythonu
Pokud potřebujete vybrat záznam z nějaké
skupiny hodnot polí, můžete použít
příkaz IN. Například můžete vybrat
záznamy, kde pole name má
hodnotu 'user1', 'user3'
nebo 'user4'. Bude to vypadat
takto: WHERE id IN ('user1',
'user3', 'user4').
V zásadě pro takové věci můžete použít
i příkaz OR,
pak první příklad bude vypadat takto:
WHERE id=1 OR id=3 OR
id=7 OR id=14 OR id=28.
Varianta s IN však vypadá jednodušeji
a elegantněji.
Příklad
Vyberme uživatele, jejichž pole id
má hodnoty 1, 3, 5:
query = "SELECT * FROM users WHERE id IN (1, 3, 5)"
Výsledek provedené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}
Příklad
Příkaz IN lze kombinovat s
dalšími příkazy v dotazu. Pojďme
přepsat předchozí příklad a dodat,
že věk uživatelů musí být více než
23 let:
query = "SELECT * FROM users WHERE id IN (1, 3, 5) AND age>23"
Výsledek provedeného kódu:
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Praktické úlohy
Získejte uživatele, jejichž plat má
hodnoty 400 a 900.
Získejte uživatele, jejichž věk je
25, 27 a 28 let. Přitom
id více než 2.