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:

pythonquery = "SELECT * FROM users WHERE id IN (1, 3, 5)"

Výsledek provedeného kódu:

python{'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:

pythonquery = "SELECT * FROM users WHERE id IN (1, 3, 5) AND age>23"

Výsledek provedeného kódu:

python{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}

Praktické úlohy

Задание 1

Získejte uživatele, jejichž plat má hodnoty 400 a 900.

Задание 2

Získejte uživatele, jejichž věk je 25, 27 a 28 let. Přitom id více než 2.