Selección de registros por valores específicos en Python
Si necesitas seleccionar registros de algún
grupo de valores de campos, puedes usar
el comando IN. Por ejemplo, puedes seleccionar
registros donde el campo name tenga
los valores 'user1', 'user3'
o 'user4'. Se vería así:
WHERE id IN ('user1',
'user3', 'user4').
En principio, para estos casos también se puede usar
el comando OR,
entonces el primer ejemplo se vería así:
WHERE id=1 OR id=3 OR
id=7 OR id=14 OR id=28.
La versión con IN se ve más simple
y elegante.
Ejemplo
Seleccionemos usuarios cuyo campo id
tenga los valores 1, 3, 5:
query = "SELECT * FROM users WHERE id IN (1, 3, 5)"
Resultado del código ejecutado:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Ejemplo
El comando IN se puede combinar con
otros comandos en la consulta. Reescribamos
el ejemplo anterior, especificando además
que la edad de los usuarios debe ser mayor
a 23 años:
query = "SELECT * FROM users WHERE id IN (1, 3, 5) AND age>23"
Resultado del código ejecutado:
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Tareas prácticas
Obtenga los usuarios cuyo salario tenga
los valores 400 y 900.
Obtenga los usuarios cuya edad sea
25, 27 y 28 años. Y
que su id sea mayor a 2.