Logické operácie v SQL dotaze v Pythone

V podmienke výberu môžete robiť zložitejšie kombinácie pomocou príkazov OR a AND. Fungujú rovnako ako ich analógy v Python konštrukcii if. Pozrime sa na príklady.

Príklad

Vyberieme používateľov so mzdou 500 A vekom 23 rokov:

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

Výsledok vykonaného kódu:

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

Príklad

Vyberieme používateľov so mzdou 500 ALEBO vekom 23 rokov:

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

Výsledok vykonaného kódu:

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}

Príklad

Vyberieme používateľov so mzdou od 450 do 900:

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

Výsledok vykonaného kódu:

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}

Príklad

Vyberieme používateľov s vekom od 23 do 27 rokov vrátane:

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

Výsledok vykonaného kódu:

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}

Príklad

Zložité kombinácie príkazov OR a AND môžete zoskupovať pomocou okrúhlych zátvoriek, aby ste ukázali prioritu podmienok:

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

Výsledok vykonaného kódu:

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

Praktické úlohy

Задание 1

Vyberte používateľov vo veku od 25 (nevrátane) do 28 rokov (vrátane).

Задание 2

Vyberte používateľa user1.

Задание 3

Vyberte používateľov user1 a user2.

Задание 4

Vyberte všetkých okrem používateľa user3.

Задание 5

Vyberte všetkých používateľov vo veku 27 rokov alebo so mzdou 1000.

Задание 6

Vyberte všetkých používateľov vo veku 27 rokov alebo so mzdou nerovnajúcou sa 400.

Задание 7

Vyberte všetkých používateľov vo veku od 23 rokov (vrátane) do 27 rokov (ne vrátane) alebo so mzdou 1000.

Задание 8

Vyberte všetkých používateľov vo veku od 23 rokov do 27 rokov alebo so mzdou od 400 do 1000.