Uddrag af poster ved SQL-forespørgsel til database i Python
I testkoden for SQL-forespørgslen er der en kommando
SELECT, der udtrækker data
fra databasen. Lad os nu undersøge dens syntaks mere detaljeret.
Her er den:
query = "SELECT * FROM tabel WHERE betingelse"
Efter tabellens navn kan du også tilføje
kommandoen WHERE, hvor
betingelsen for de valgte poster angives. Følgende
sammenligningsoperationer er tilladt: =,
!=, <>, <, >,
<=, >=.
Lad os se på deres anvendelse med eksempler.
Eksempel
Lad os vælge en bruger med id lig med 2:
query = "SELECT * FROM users WHERE id=2"
Resultatet af den udførte kode:
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
Eksempel
Lad os vælge brugere med id større end 2:
query = "SELECT * FROM users WHERE id>2"
Resultatet af den udførte 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}
Eksempel
Lad os vælge brugere med id større end eller
lig med 2:
query = "SELECT * FROM users WHERE id>=2"
Resultatet af den udførte 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}
Eksempel
Lad os vælge brugere med id ikke lig med
2:
query = "SELECT * FROM users WHERE id!=2"
Resultatet af den udførte 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}
Eksempel
I stedet for kommandoen != kan du skrive
kommandoen <>:
query = "SELECT * FROM users WHERE id<>2"
Eksempel
Lad os vælge en bruger med navnet 'user1'.
Her er der en vigtig nuance: da
navnet er en streng, skal det
indesluttes i anførselstegn:
query = "SELECT * FROM users WHERE name='user1'"
Resultatet af den udførte kode:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
Eksempel
Hvis kommandoen WHERE mangler, så
vælges alle poster fra tabellen. Lad os
vælge alle medarbejdere:
query = "SELECT * FROM users"
Resultatet af den udførte 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}
Praktiske opgaver
Vælg brugeren med id lig med 3.
Vælg brugere med en løn på 900.
Vælg brugere i en alder af 23 år.
Vælg brugere med en løn højere end 400.
Vælg brugere med en løn lig med eller
højere end 500.
Vælg brugere med en løn IKKE lig med
500.
Vælg brugere med en løn lig med eller
mindre end 500.