Operaciones lógicas en consultas SQL en Python

En la condición de selección se pueden hacer combinaciones más complejas usando los comandos OR y AND. Funcionan igual que sus análogos en la construcción if de Python. Veamos algunos ejemplos.

Ejemplo

Seleccionemos usuarios con salario 500 Y edad 23 años:

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

Resultado del código ejecutado:

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

Ejemplo

Seleccionemos usuarios con salario 500 O edad 23 años:

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

Resultado del código ejecutado:

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}

Ejemplo

Seleccionemos usuarios con salario desde 450 hasta 900:

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

Resultado del código ejecutado:

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}

Ejemplo

Seleccionemos usuarios con edad desde 23 hasta 27 años inclusive:

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

Resultado del código ejecutado:

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}

Ejemplo

Las combinaciones complejas de los comandos OR y AND se pueden agrupar usando paréntesis para mostrar la prioridad de las condiciones:

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

Resultado del código ejecutado:

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

Tareas prácticas

Задание 1

Seleccione usuarios de edad desde 25 (no inclusive) hasta 28 años (inclusive).

Задание 2

Seleccione al usuario user1.

Задание 3

Seleccione los usuarios user1 y user2.

Задание 4

Seleccione a todos, excepto al usuario user3.

Задание 5

Seleccione todos los usuarios de edad 27 años o con salario 1000.

Задание 6

Seleccione todos los usuarios de edad 27 años o con salario distinto a 400.

Задание 7

Seleccione todos los usuarios de edad desde 23 años (inclusive) hasta 27 años (no inclusive) o con salario 1000.

Задание 8

Seleccione todos los usuarios de edad desde 23 años hasta 27 años o con salario desde 400 hasta 1000.