Rekordok kiválasztása SQL lekérdezéssel Pythonban
A teszt kódban az SQL lekérdezésben található
SELECT parancs, amely adatokat választ ki
az adatbázisból. Most nézzük meg részletesebben
a szintaxisát. Íme:
query = "SELECT * FROM tábla WHERE feltétel"
A tábla neve után még írhatunk
WHERE parancsot, amelyben megadjuk
a kiválasztandó rekordok feltételét. A következő
összehasonlító műveletek megengedettek benne: =,
!=, <>, <, >,
<=, >=.
Nézzük meg alkalmazásukat példákon keresztül.
Példa
Válasszuk ki a id-ja 2-vel egyenlő felhasználót:
query = "SELECT * FROM users WHERE id=2"
A végrehajtott kód eredménye:
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
Példa
Válasszuk ki a id-ja 2-nál nagyobb felhasználókat:
query = "SELECT * FROM users WHERE id>2"
A végrehajtott kód eredménye:
{'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élda
Válasszuk ki a id-ja 2-vel egyenlő vagy nagyobb felhasználókat:
query = "SELECT * FROM users WHERE id>=2"
A végrehajtott kód eredménye:
{'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élda
Válasszuk ki a id-ja 2-vel nem egyenlő felhasználókat:
query = "SELECT * FROM users WHERE id!=2"
A végrehajtott kód eredménye:
{'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élda
A != parancs helyett használhatjuk
a <> parancsot:
query = "SELECT * FROM users WHERE id<>2"
Példa
Válasszuk ki a 'user1' nevű felhasználót.
Itt egy fontos árnyalattal kell számolnunk: mivel
a név egy sztring, idézőjelek közé kell tenni:
query = "SELECT * FROM users WHERE name='user1'"
A végrehajtott kód eredménye:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
Példa
Ha a WHERE parancs hiányzik, akkor
a tábla összes rekordja ki lesz választva. Válasszuk
ki az összes dolgozót:
query = "SELECT * FROM users"
A végrehajtott kód eredménye:
{'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}
Gyakorlati feladatok
Válaszd ki a id-ja 3-mal egyenlő felhasználót.
Válaszd ki a 900 fizetésű felhasználókat.
Válaszd ki a 23 éves felhasználókat.
Válaszd ki a 400-nál nagyobb fizetésű felhasználókat.
Válaszd ki a 500-zal egyenlő vagy nagyobb fizetésű felhasználókat.
Válaszd ki a 500-zal nem egyenlő fizetésű felhasználókat.
Válaszd ki a 500-zal egyenlő vagy kisebb fizetésű felhasználókat.