Izbira zapisov pri SQL poizvedbi v bazi podatkov v Pythonu
V testni kodi SQL poizvedbe je ukaz
SELECT, ki izvaja izbor podatkov
iz baze podatkov. Zdaj pa si podrobneje oglejmo
njeno sintakso. Tukaj je:
query = "SELECT * FROM tabela WHERE pogoj"
Po imenu tabele lahko še dodaš
ukaz WHERE, v katerem je določen
pogoj za izbrane zapise. V njem so dovoljene
naslednje operacije primerjave: =,
!=, <>, <, >,
<=, >=.
Oglejmo si njihovo uporabo s primeri.
Primer
Izberimo uporabnika z id, enakim 2:
query = "SELECT * FROM users WHERE id=2"
Rezultat izvedene kode:
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
Primer
Izberimo uporabnike z id, večjim od 2:
query = "SELECT * FROM users WHERE id>2"
Rezultat izvedene kode:
{'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}
Primer
Izberimo uporabnike z id, večjim ali
enakim 2:
query = "SELECT * FROM users WHERE id>=2"
Rezultat izvedene kode:
{'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}
Primer
Izberimo uporabnike z id, ki ni enak
2:
query = "SELECT * FROM users WHERE id!=2"
Rezultat izvedene kode:
{'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}
Primer
Namesto ukaza != lahko pišemo
ukaz <>:
query = "SELECT * FROM users WHERE id<>2"
Primer
Izberimo uporabnika z imenom 'user1'.
Tukaj nas čaka pomemben odtenek: ker je
ime niz, ga je treba
vzeti v narekovaje:
query = "SELECT * FROM users WHERE name='user1'"
Rezultat izvedene kode:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
Primer
Če ukaz WHERE manjka, potem
se izberejo vsi zapisi iz tabele. Izberimo
vse delavce:
query = "SELECT * FROM users"
Rezultat izvedene kode:
{'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}
Praktične naloge
Izberite uporabnika z id, enakim 3.
Izberite uporabnike s plačo 900.
Izberite uporabnike v starosti 23 let.
Izberite uporabnike s plačo večjo od 400.
Izberite uporabnike s plačo enako ali
večjo od 500.
Izberite uporabnike s plačo NI enako
500.
Izberite uporabnike s plačo enako ali
manjšo od 500.