Selekcija zapisa pri SQL upitu ka bazi u Pythonu
U testnom kodu SQL upita postoji komanda
SELECT, koja vrši selekciju podataka
iz baze podataka. Hajde da sada detaljnije razmotrimo
njen sintaks. Evo ga:
query = "SELECT * FROM tabela WHERE uslov"
Nakon imena tabele se može još dopisati
komanda WHERE, u kojoj se zadaje
uslov za zapise koji se biraju. U njemu su dozvoljene
sledeće operacije poređenja: =,
!=, <>, <, >,
<=, >=.
Hajde da razmotrimo njihovu primenu na primerima.
Primer
Izabraćemo korisnika sa id, jednakim 2:
query = "SELECT * FROM users WHERE id=2"
Rezultat izvršenog koda:
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
Primer
Izabraćemo korisnike sa id, većim od 2:
query = "SELECT * FROM users WHERE id>2"
Rezultat izvršenog koda:
{'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
Izabraćemo korisnike sa id, većim ili
jednakim 2:
query = "SELECT * FROM users WHERE id>=2"
Rezultat izvršenog koda:
{'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
Izabraćemo korisnike sa id, koji nije jednak
2:
query = "SELECT * FROM users WHERE id!=2"
Rezultat izvršenog koda:
{'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
Umesto komande != može se pisati
komanda <>:
query = "SELECT * FROM users WHERE id<>2"
Primer
Izabraćemo korisnika sa imenom 'user1'.
Ovde nas čeka važan detalj: pošto je
ime string, mora se staviti
u navodnike:
query = "SELECT * FROM users WHERE name='user1'"
Rezultat izvršenog koda:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
Primer
Ako komanda WHERE odsustvuje, onda
će biti izabrani svi zapisi iz tabele. Hajde
da izaberemo sve radnike:
query = "SELECT * FROM users"
Rezultat izvršenog koda:
{'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čni zadaci
Izaberite korisnika sa id, jednakim 3.
Izaberite korisnike sa platom 900.
Izaberite korisnike uzrasta 23 godine.
Izaberite korisnike sa platom većom od 400.
Izaberite korisnike sa platom jednakom ili
većom od 500.
Izaberite korisnike sa platom KOJA NIJE jednaka
500.
Izaberite korisnike sa platom jednakom ili
manjom od 500.