Selecionando registros por valores específicos em Python
Se você precisa selecionar um registro de um
grupo de valores de campos, pode usar
o comando IN. Por exemplo, você pode selecionar
registros onde o campo name tem
o valor 'user1', 'user3'
ou 'user4'. Ficaria assim:
WHERE id IN ('user1',
'user3', 'user4').
Em princípio, para esses casos também se pode usar
o comando OR,
então o primeiro exemplo ficaria assim:
WHERE id=1 OR id=3 OR
id=7 OR id=14 OR id=28.
A versão com IN acaba sendo mais simples
e elegante.
Exemplo
Vamos selecionar os usuários cujo campo id
tem os valores 1, 3, 5:
query = "SELECT * FROM users WHERE id IN (1, 3, 5)"
Resultado do código executado:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Exemplo
O comando IN pode ser combinado com
outros comandos na consulta. Vamos
reescrever o exemplo anterior, especificando ainda
que a idade dos usuários deve ser maior
que 23 anos:
query = "SELECT * FROM users WHERE id IN (1, 3, 5) AND age>23"
Resultado do código executado:
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Tarefas práticas
Selecione os usuários cujo salário tem
os valores 400 e 900.
Selecione os usuários cuja idade é
25, 27 e 28 anos. E
cujo id seja maior que 2.