Логички операции во SQL барањата во Python
Во условот за избор може да се прават посложени
комбинации со помош на командите OR и
AND. Тие работат на ист начин како и нивните
аналози во Python конструкцијата if.
Ајде да погледнеме на примери.
Пример
Ќе избереме корисници со плата 500 И
возраст 23 години:
query = "SELECT * FROM users WHERE salary=500 AND age=23"
Резултат од извршениот код:
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
Пример
Ќе избереме корисници со плата 500 ИЛИ
возраст 23 години:
query = "SELECT * FROM users WHERE salary=500 OR age=23"
Резултат од извршениот код:
{'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:
query = "SELECT * FROM users WHERE salary>450 AND salary<900"
Резултат од извршениот код:
{'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 години вклучително:
query = "SELECT * FROM users WHERE age>=23 AND age<=27"
Резултат од извршениот код:
{'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 може да се групираат со помош на
кругли загради за да се прикаже приоритетот
на условите:
query = "SELECT * FROM users WHERE (age<20 AND age>27) OR (salary>300 AND salary<500)"
Резултат од извршениот код:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
Практични задачи
Изберете корисници на возраст од 25
(не вклучително) до 28 години
(вклучително).
Изберете го корисникот user1.
Изберете ги корисниците user1 и user2.
Изберете ги сите, освен корисникот user3.
Изберете ги сите корисници на возраст 27
години или со плата 1000.
Изберете ги сите корисници на возраст 27
години или со плата не еднаква на 400.
Изберете ги сите корисници на возраст од 23
години (вклучително) до 27 години (не
вклучително) или со плата 1000.
Изберете ги сите корисници на возраст од 23
години до 27 години или со плата од
400 до 1000.