Opérations logiques dans une requête SQL en Python

Dans la condition de sélection, il est possible de créer des combinaisons plus complexes à l'aide des commandes OR et AND. Elles fonctionnent de la même manière que leurs équivalents dans la construction Python if. Regardons des exemples.

Exemple

Sélectionnons les utilisateurs avec un salaire de 500 ET un âge de 23 ans :

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

Résultat du code exécuté :

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

Exemple

Sélectionnons les utilisateurs avec un salaire de 500 OU un âge de 23 ans :

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

Résultat du code exécuté :

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}

Exemple

Sélectionnons les utilisateurs avec un salaire de 450 à 900 :

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

Résultat du code exécuté :

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}

Exemple

Sélectionnons les utilisateurs avec un âge de 23 à 27 ans inclusivement :

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

Résultat du code exécuté :

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}

Exemple

Les combinaisons complexes des commandes OR et AND peuvent être regroupées à l'aide de parenthèses pour indiquer la priorité des conditions :

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

Résultat du code exécuté :

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

Problèmes pratiques

Задание 1

Sélectionnez les utilisateurs âgés de 25 ans (non inclus) à 28 ans (inclus).

Задание 2

Sélectionnez l'utilisateur user1.

Задание 3

Sélectionnez les utilisateurs user1 et user2.

Задание 4

Sélectionnez tous les utilisateurs sauf user3.

Задание 5

Sélectionnez tous les utilisateurs âgés de 27 ans ou avec un salaire de 1000.

Задание 6

Sélectionnez tous les utilisateurs âgés de 27 ans ou avec un salaire différent de 400.

Задание 7

Sélectionnez tous les utilisateurs âgés de 23 ans (inclus) à 27 ans (non inclus) ou avec un salaire de 1000.

Задание 8

Sélectionnez tous les utilisateurs âgés de 23 ans à 27 ans ou avec un salaire de 400 à 1000.