Operações lógicas em consultas SQL em Python

Nas condições de seleção, você pode fazer combinações mais complexas usando os comandos OR e AND. Eles funcionam da mesma forma que seus análogos na construção if do Python. Vamos ver alguns exemplos.

Exemplo

Vamos selecionar usuários com salário 500 E idade 23 anos:

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

Resultado do código executado:

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

Exemplo

Vamos selecionar usuários com salário 500 OU idade 23 anos:

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

Resultado do código executado:

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}

Exemplo

Vamos selecionar usuários com salário de 450 a 900:

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

Resultado do código executado:

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}

Exemplo

Vamos selecionar usuários com idade de 23 a 27 anos inclusive:

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

Resultado do código executado:

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}

Exemplo

Combinações complexas dos comandos OR e AND podem ser agrupadas usando parênteses para indicar a prioridade das condições:

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

Resultado do código executado:

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

Tarefas práticas

Задание 1

Selecione os usuários com idade de 25 (exclusive) a 28 anos (inclusive).

Задание 2

Selecione o usuário user1.

Задание 3

Selecione os usuários user1 e user2.

Задание 4

Selecione todos, exceto o usuário user3.

Задание 5

Selecione todos os usuários com 27 anos de idade ou com salário de 1000.

Задание 6

Selecione todos os usuários com 27 anos de idade ou com salário diferente de 400.

Задание 7

Selecione todos os usuários com idade de 23 anos (inclusive) a 27 anos (exclusive) ou com salário de 1000.

Задание 8

Selecione todos os usuários com idade de 23 anos a 27 anos ou com salário de 400 a 1000.