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:

pythonquery = "SELECT * FROM users WHERE salary=500 AND age=23"

Käivitatud koodi tulemus:

python{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}

Näide

Valime kasutajad, kelle palk on 500 VÕI vanus 23 aastat:

pythonquery = "SELECT * FROM users WHERE salary=500 OR age=23"

Käivitatud koodi tulemus:

python{'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:

pythonquery = "SELECT * FROM users WHERE salary>450 AND salary<900"

Käivitatud koodi tulemus:

python{'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):

pythonquery = "SELECT * FROM users WHERE age>=23 AND age<=27"

Käivitatud koodi tulemus:

python{'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:

pythonquery = "SELECT * FROM users WHERE (age<20 AND age>27) OR (salary>300 AND salary<500)"

Käivitatud koodi tulemus:

python{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}

Praktilised ülesanded

Задание 1

Valige kasutajad vanusega alates 25 (kaasa arvatud) kuni 28 aastat (kaasa arvatud).

Задание 2

Valige kasutaja user1.

Задание 3

Valige kasutajad user1 ja user2.

Задание 4

Valige kõik, välja arvatud kasutaja user3.

Задание 5

Valige kõik kasutajad vanuses 27 aastat või palgaga 1000.

Задание 6

Valige kõik kasutajad vanuses 27 aastat või palgaga, mis ei ole 400.

Задание 7

Valige kõik kasutajad vanusega alates 23 aastat (kaasa arvatud) kuni 27 aastat (mitte kaasa arvatud) või palgaga 1000.

Задание 8

Valige kõik kasutajad vanusega alates 23 aastat kuni 27 aastat või palgaga alates 400 kuni 1000.