Loogilised operatsioonid SQL päringus Pythonis
Valimistingimustes saab teha keerukamaid
kombinatsioone kasutades käske OR ja
AND. Need töötavad samamoodi nagu nende
analoogid Pythoni konstruktsioonis if.
Vaatame näidete varal.
Näide
Valime kasutajad, kelle palk on 500 JA
vanus 23 aastat:
query = "SELECT * FROM users WHERE salary=500 AND age=23"
Käivitatud koodi tulemus:
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
Näide
Valime kasutajad, kelle palk on 500 VÕI
vanus 23 aastat:
query = "SELECT * FROM users WHERE salary=500 OR age=23"
Käivitatud koodi tulemus:
{'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}
Näide
Valime kasutajad, kelle palk on vahemikus 450
kuni 900:
query = "SELECT * FROM users WHERE salary>450 AND salary<900"
Käivitatud koodi tulemus:
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Näide
Valime kasutajad, kelle vanus on vahemikus 23
kuni 27 aastat (kaasa arvatud):
query = "SELECT * FROM users WHERE age>=23 AND age<=27"
Käivitatud koodi tulemus:
{'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}
Näide
Keerukaid käsukombinatsioone OR ja
AND saab rühmitada ümarsulgude abil,
et näidata tingimuste prioriteeti:
query = "SELECT * FROM users WHERE (age<20 AND age>27) OR (salary>300 AND salary<500)"
Käivitatud koodi tulemus:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
Praktilised ülesanded
Valige kasutajad vanusega alates 25
(kaasa arvatud) kuni 28 aastat
(kaasa arvatud).
Valige kasutaja user1.
Valige kasutajad user1 ja user2.
Valige kõik, välja arvatud kasutaja user3.
Valige kõik kasutajad vanuses 27
aastat või palgaga 1000.
Valige kõik kasutajad vanuses 27
aastat või palgaga, mis ei ole 400.
Valige kõik kasutajad vanusega alates 23
aastat (kaasa arvatud) kuni 27 aastat (mitte
kaasa arvatud) või palgaga 1000.
Valige kõik kasutajad vanusega alates 23
aastat kuni 27 aastat või palgaga alates
400 kuni 1000.