Výběr záznamů při SQL dotazu do databáze v Pythonu
V testovacím kódu SQL dotazu je příkaz
SELECT, který provádí výběr dat
z databáze. Pojďme se nyní podrobněji seznámit
s jeho syntaxí. Zde je:
query = "SELECT * FROM tabulka WHERE podminka"
Za názvem tabulky lze ještě doplnit
příkaz WHERE, ve kterém se zadává
podmínka pro vybírané záznamy. V ní jsou povoleny
následující porovnávací operace: =,
!=, <>, <, >,
<=, >=.
Pojďme se podívat na jejich použití na příkladech.
Příklad
Vyberme uživatele s id rovným 2:
query = "SELECT * FROM users WHERE id=2"
Výsledek provedeného kódu:
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
Příklad
Vyberme uživatele s id větším než 2:
query = "SELECT * FROM users WHERE id>2"
Výsledek provedeného kódu:
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 4, 'name': 'user4', 'age': 30, 'salary': 900}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
{'id': 6, 'name': 'user6', 'age': 28, 'salary': 900}
Příklad
Vyberme uživatele s id větším nebo
rovným 2:
query = "SELECT * FROM users WHERE id>=2"
Výsledek provedeného kódu:
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 4, 'name': 'user4', 'age': 30, 'salary': 900}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
{'id': 6, 'name': 'user6', 'age': 28, 'salary': 900}
Příklad
Vyberme uživatele s id nerovnajícím se
2:
query = "SELECT * FROM users WHERE id!=2"
Výsledek provedeného kódu:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 4, 'name': 'user4', 'age': 30, 'salary': 900}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
{'id': 6, 'name': 'user6', 'age': 28, 'salary': 900}
Příklad
Místo příkazu != lze psát
příkaz <>:
query = "SELECT * FROM users WHERE id<>2"
Příklad
Vyberme uživatele se jménem 'user1'.
Zde na nás čeká důležitá nuance: protože
jméno je řetězec, je nutné jej
uvést do uvozovek:
query = "SELECT * FROM users WHERE name='user1'"
Výsledek provedeného kódu:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
Příklad
Pokud příkaz WHERE chybí,
vyberou se všechny záznamy z tabulky. Pojďme
vybrat všechny zaměstnance:
query = "SELECT * FROM users"
Výsledek provedeného kódu:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 4, 'name': 'user4', 'age': 30, 'salary': 900}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
{'id': 6, 'name': 'user6', 'age': 28, 'salary': 900}
Praktické úlohy
Vyberte uživatele s id rovným 3.
Vyberte uživatele se mzdou 900.
Vyberte uživatele ve věku 23 let.
Vyberte uživatele se mzdou vyšší než 400.
Vyberte uživatele se mzdou rovnou nebo
vyšší než 500.
Vyberte uživatele se mzdou NE rovnou
500.
Vyberte uživatele se mzdou rovnou nebo
nižší než 500.