Výber záznamov pri SQL dotaze k databáze v Pythone
V testovacom kóde SQL dotazu je príkaz
SELECT, ktorý vykonáva výber údajov
z databázy. Poďme sa teraz podrobnejšie zoznámiť
s jeho syntaxou. Tu je:
query = "SELECT * FROM tabulka WHERE podmienka"
Po názve tabuľky je možné ešte dopísať
príkaz WHERE, v ktorom sa zadáva
podmienka pre vyberané záznamy. V nej sú povolené
nasledujúce porovnávacie operácie: =,
!=, <>, <, >,
<=, >=.
Poďme si ich použitie ukázať na príkladoch.
Príklad
Vyberme používateľa s id rovným 2:
query = "SELECT * FROM users WHERE id=2"
Výsledok vykonaného kódu:
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
Príklad
Vyberme používateľov s id väčším ako 2:
query = "SELECT * FROM users WHERE id>2"
Výsledok vykonané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}
Príklad
Vyberme používateľov s id väčším alebo
rovným 2:
query = "SELECT * FROM users WHERE id>=2"
Výsledok vykonané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}
Príklad
Vyberme používateľov s id nerovnajúcim sa
2:
query = "SELECT * FROM users WHERE id!=2"
Výsledok vykonané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}
Príklad
Namiesto príkazu != je možné písať
príkaz <>:
query = "SELECT * FROM users WHERE id<>2"
Príklad
Vyberme používateľa s menom 'user1'.
Tu nás čaká dôležitá nuansa: keďže
meno je reťazec, je potrebné
ho napísať do úvodzoviek:
query = "SELECT * FROM users WHERE name='user1'"
Výsledok vykonaného kódu:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
Príklad
Ak príkaz WHERE chýba,
vyberú sa všetky záznamy z tabuľky. Vyberme
všetkých zamestnancov:
query = "SELECT * FROM users"
Výsledok vykonané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 používateľa s id rovným 3.
Vyberte používateľov so mzdou 900.
Vyberte používateľov vo veku 23 rokov.
Vyberte používateľov so mzdou vyššou ako 400.
Vyberte používateľov so mzdou rovnou alebo
vyššou ako 500.
Vyberte používateľov so mzdou NE rovnajúcou sa
500.
Vyberte používateľov so mzdou rovnou alebo
nižšou ako 500.