Logiske operationer i SQL-forespørgsler i Python

I udvælgelsesbetingelsen kan man lave mere komplekse kombinationer ved hjælp af kommandoerne OR og AND. De fungerer på samme måde som deres modstykker i Python-konstruktionen if. Lad os se på nogle eksempler.

Eksempel

Lad os vælge brugere med en løn på 500 OG en alder på 23 år:

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

Resultatet af den udførte kode:

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

Eksempel

Lad os vælge brugere med en løn på 500 ELLER en alder på 23 år:

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

Resultatet af den udførte kode:

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}

Eksempel

Lad os vælge brugere med en løn fra 450 til 900:

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

Resultatet af den udførte kode:

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}

Eksempel

Lad os vælge brugere med en alder fra 23 til 27 år inklusive:

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

Resultatet af den udførte kode:

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}

Eksempel

Komplekse kombinationer af OR- og AND-kommandoer kan grupperes ved hjælp af runde parenteser for at vise betingelsernes prioritet:

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

Resultatet af den udførte kode:

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

Praktiske opgaver

Задание 1

Vælg brugere i alderen fra 25 (eksklusiv) til 28 år (inklusive).

Задание 2

Vælg brugeren user1.

Задание 3

Vælg brugerne user1 og user2.

Задание 4

Vælg alle, undtagen brugeren user3.

Задание 5

Vælg alle brugere på 27 år eller med en løn på 1000.

Задание 6

Vælg alle brugere på 27 år eller med en løn som ikke er lig med 400.

Задание 7

Vælg alle brugere i alderen fra 23 år (inklusive) til 27 år (eksklusiv) eller med en løn på 1000.

Задание 8

Vælg alle brugere i alderen fra 23 år til 27 år eller med en løn fra 400 til 1000.