ლოგიკური ოპერაციები 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-მდე.