Logiska operationer i SQL-förfrågningar i Python

I urvalsvillkoret kan man göra mer komplexa kombinationer med kommandona OR och AND. De fungerar på samma sätt som sina motsvarigheter i Python-konstruktionen if. Låt oss titta på exempel.

Exempel

Låt oss välja användare med en lön på 500 OCH en ålder på 23 år:

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

Resultatet av den utförda koden:

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

Exempel

Låt oss välja användare med en lön på 500 ELLER en ålder på 23 år:

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

Resultatet av den utförda koden:

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}

Exempel

Låt oss välja användare med en lön från 450 till 900:

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

Resultatet av den utförda koden:

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}

Exempel

Låt oss välja användare med en ålder från 23 till 27 år inklusive:

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

Resultatet av den utförda koden:

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}

Exempel

Komplexa kombinationer av kommandona OR och AND kan grupperas med hjälp av runda parenteser för att visa prioriteten hos villkoren:

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

Resultatet av den utförda koden:

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

Praktiska uppgifter

Задание 1

Välj användare i åldern från 25 (ej inklusive) till 28 år (inklusive).

Задание 2

Välj användaren user1.

Задание 3

Välj användarna user1 och user2.

Задание 4

Välj alla utom användaren user3.

Задание 5

Välj alla användare i åldern 27 år eller med en lön på 1000.

Задание 6

Välj alla användare i åldern 27 år eller med en lön som inte är lika med 400.

Задание 7

Välj alla användare i åldern från 23 år (inklusive) till 27 år (ej inklusive) eller med en lön på 1000.

Задание 8

Välj alla användare i åldern från 23 år till 27 år eller med en lön från 400 till 1000.