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