การดำเนินการทางตรรกะในคำสั่ง SQL ใน Python

ในเงื่อนไขการเลือกข้อมูล เราสามารถสร้างการผสมผสานที่ซับซ้อนยิ่งขึ้นได้ด้วยคำสั่ง OR และ AND มันทำงานเหมือนกับคำสั่งที่คล้ายกันในโครงสร้าง if ของ Python มาดูตัวอย่างกัน

ตัวอย่าง

เลือกผู้ใช้ที่มีเงินเดือน 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