Loogiset operaatiot SQL-kyselyissä Pythonissa
Valintaehdossa voit tehdä monimutkaisempia
yhdistelmiä käyttämällä OR- ja
AND-komentoja. Ne toimivat samalla tavalla kuin niiden
vastaavat Pythonin if-rakenteessa.
Katsotaanpa esimerkein.
Esimerkki
Valitaan käyttäjät, joiden palkka on 500 JA
ikä 23 vuotta:
query = "SELECT * FROM users WHERE salary=500 AND age=23"
Suoritetun koodin tulos:
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
Esimerkki
Valitaan käyttäjät, joiden palkka on 500 TAI
ikä 23 vuotta:
query = "SELECT * FROM users WHERE salary=500 OR age=23"
Suoritetun koodin tulos:
{'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': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Esimerkki
Valitaan käyttäjät, joiden palkka on välillä 450
- 900:
query = "SELECT * FROM users WHERE salary>450 AND salary<900"
Suoritetun koodin tulos:
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Esimerkki
Valitaan käyttäjät, joiden ikä on välillä 23
- 27 vuotta mukaan lukien:
query = "SELECT * FROM users WHERE age>=23 AND age<=27"
Suoritetun koodin tulos:
{'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': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Esimerkki
Monimutkaisia OR- ja
AND-komentojen yhdistelmiä voidaan ryhmitellä käyttämällä
pyöreitä sulkeita osoittamaan ehtojen
prioriteetti:
query = "SELECT * FROM users WHERE (age<20 AND age>27) OR (salary>300 AND salary<500)"
Suoritetun koodin tulos:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
Käytännön tehtävät
Valitse käyttäjät, joiden ikä on välillä 25
(ei mukaan lukien) - 28 vuotta
(mukaan lukien).
Valitse käyttäjä user1.
Valitse käyttäjät user1 ja user2.
Valitse kaikki paitsi käyttäjä user3.
Valitse kaikki käyttäjät, joiden ikä on 27
vuotta tai palkka on 1000.
Valitse kaikki käyttäjät, joiden ikä on 27
vuotta tai palkka ei ole 400.
Valitse kaikki käyttäjät, joiden ikä on välillä 23
vuotta (mukaan lukien) - 27 vuotta (ei
mukaan lukien) tai palkka on 1000.
Valitse kaikki käyttäjät, joiden ikä on välillä 23
vuotta - 27 vuotta tai palkka on välillä
400 - 1000.