Operazioni logiche nelle query SQL in Python

Nella condizione di selezione è possibile creare combinazioni più complesse utilizzando i comandi OR e AND. Funzionano come i loro analoghi nella struttura if di Python. Vediamo alcuni esempi.

Esempio

Selezioniamo gli utenti con uno stipendio di 500 E un'età di 23 anni:

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

Risultato del codice eseguito:

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

Esempio

Selezioniamo gli utenti con uno stipendio di 500 O un'età di 23 anni:

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

Risultato del codice eseguito:

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}

Esempio

Selezioniamo gli utenti con uno stipendio da 450 a 900:

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

Risultato del codice eseguito:

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}

Esempio

Selezioniamo gli utenti con un'età da 23 a 27 anni inclusi:

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

Risultato del codice eseguito:

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}

Esempio

Combinazioni complesse dei comandi OR e AND possono essere raggruppate utilizzando parentesi tonde per indicare la priorità delle condizioni:

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

Risultato del codice eseguito:

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

Problemi pratici

Задание 1

Seleziona gli utenti di età compresa tra 25 (escluso) e 28 anni (incluso).

Задание 2

Seleziona l'utente user1.

Задание 3

Seleziona gli utenti user1 e user2.

Задание 4

Seleziona tutti tranne l'utente user3.

Задание 5

Seleziona tutti gli utenti di 27 anni o con uno stipendio di 1000.

Задание 6

Seleziona tutti gli utenti di 27 anni o con uno stipendio diverso da 400.

Задание 7

Seleziona tutti gli utenti di età compresa tra 23 anni (incluso) e 27 anni (non incluso) o con uno stipendio di 1000.

Задание 8

Seleziona tutti gli utenti di età compresa tra 23 anni e 27 anni o con uno stipendio compreso tra 400 e 1000.