Логички операции во SQL барањата во Python

Во условот за избор може да се прават посложени комбинации со помош на командите OR и AND. Тие работат на ист начин како и нивните аналози во Python конструкцијата if. Ајде да погледнеме на примери.

Пример

Ќе избереме корисници со плата 500 И возраст 23 години:

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

Резултат од извршениот код:

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

Пример

Ќе избереме корисници со плата 500 ИЛИ возраст 23 години:

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

Резултат од извршениот код:

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}

Пример

Ќе избереме корисници со плата од 450 до 900:

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

Резултат од извршениот код:

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}

Пример

Ќе избереме корисници со возраст од 23 до 27 години вклучително:

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

Резултат од извршениот код:

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}

Пример

Сложени комбинации на командите OR и AND може да се групираат со помош на кругли загради за да се прикаже приоритетот на условите:

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

Резултат од извршениот код:

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

Практични задачи

Задание 1

Изберете корисници на возраст од 25 (не вклучително) до 28 години (вклучително).

Задание 2

Изберете го корисникот user1.

Задание 3

Изберете ги корисниците user1 и user2.

Задание 4

Изберете ги сите, освен корисникот user3.

Задание 5

Изберете ги сите корисници на возраст 27 години или со плата 1000.

Задание 6

Изберете ги сите корисници на возраст 27 години или со плата не еднаква на 400.

Задание 7

Изберете ги сите корисници на возраст од 23 години (вклучително) до 27 години (не вклучително) или со плата 1000.

Задание 8

Изберете ги сите корисници на возраст од 23 години до 27 години или со плата од 400 до 1000.