Selezione di record per valori specifici in Python

Se è necessario selezionare un record da un gruppo di valori di campi, è possibile utilizzare il comando IN. Ad esempio, è possibile selezionare record in cui il campo name ha valore 'user1', 'user3' o 'user4'. Apparirà così: WHERE id IN ('user1', 'user3', 'user4').

In linea di principio, per queste cose si può usare anche il comando OR, allora il primo esempio apparirà così: WHERE id=1 OR id=3 OR id=7 OR id=14 OR id=28. La variante con IN sembra comunque più semplice ed elegante.

Esempio

Selezioniamo gli utenti il cui campo id ha valori 1, 3, 5:

pythonquery = "SELECT * FROM users WHERE id IN (1, 3, 5)"

Risultato del codice eseguito:

python{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}

Esempio

Il comando IN può essere combinato con altri comandi nella query. Riscriviamo l'esempio precedente, specificando inoltre che l'età degli utenti deve essere superiore a 23 anni:

pythonquery = "SELECT * FROM users WHERE id IN (1, 3, 5) AND age>23"

Risultato del codice eseguito:

python{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}

Compiti pratici

Задание 1

Recupera gli utenti il cui stipendio ha valori 400 e 900.

Задание 2

Recupera gli utenti la cui età è 25, 27 e 28 anni. Con id superiore a 2.