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:

pythonquery = "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:

pythonquery = "SELECT * FROM users WHERE id=2"

Výsledek provedeného kódu:

python{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}

Příklad

Vyberme uživatele s id větším než 2:

pythonquery = "SELECT * FROM users WHERE id>2"

Výsledek provedeného kódu:

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

pythonquery = "SELECT * FROM users WHERE id>=2"

Výsledek provedeného kódu:

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

pythonquery = "SELECT * FROM users WHERE id!=2"

Výsledek provedeného kódu:

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

pythonquery = "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:

pythonquery = "SELECT * FROM users WHERE name='user1'"

Výsledek provedeného kódu:

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

pythonquery = "SELECT * FROM users"

Výsledek provedeného kódu:

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

Задание 1

Vyberte uživatele s id rovným 3.

Задание 2

Vyberte uživatele se mzdou 900.

Задание 3

Vyberte uživatele ve věku 23 let.

Задание 4

Vyberte uživatele se mzdou vyšší než 400.

Задание 5

Vyberte uživatele se mzdou rovnou nebo vyšší než 500.

Задание 6

Vyberte uživatele se mzdou NE rovnou 500.

Задание 7

Vyberte uživatele se mzdou rovnou nebo nižší než 500.