การเลือกข้อมูลด้วยค่าที่เจาะจงใน Python
หากต้องการเลือกข้อมูลจากกลุ่มของค่าฟิลด์ใดฟิลด์หนึ่ง สามารถใช้คำสั่ง
IN ได้ ตัวอย่างเช่น เราสามารถเลือก
ข้อมูลที่ฟิลด์ name มีค่าเป็น
'user1', 'user3'
หรือ 'user4' ได้ ซึ่งจะเขียนได้ว่า:
WHERE id IN ('user1',
'user3', 'user4')
โดยหลักการแล้ว สำหรับกรณีแบบนี้เราสามารถใช้
คำสั่ง OR ได้เช่นกัน
ดังนั้นตัวอย่างแรกจะเขียนได้ว่า:
WHERE id=1 OR id=3 OR
id=7 OR id=14 OR id=28
อย่างไรก็ตาม ตัวเลือกที่ใช้ IN ดูจะเรียบง่ายและสละสลวยกว่า
ตัวอย่าง
มาเลือกผู้ใช้ที่ฟิลด์ id มีค่าเป็น
1, 3, 5 กัน:
query = "SELECT * FROM users WHERE id IN (1, 3, 5)"
ผลลัพธ์ของโค้ดที่ทำงาน:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
ตัวอย่าง
คำสั่ง IN สามารถใช้ร่วมกับ
คำสั่งอื่นๆ ในคำสั่งค้นหาได้ มาแก้ไขตัวอย่างก่อนหน้า
โดยระบุเพิ่มว่าผู้ใช้ต้องมีอายุมากกว่า
23 ปี:
query = "SELECT * FROM users WHERE id IN (1, 3, 5) AND age>23"
ผลลัพธ์ของโค้ดที่ทำงาน:
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
แบบฝึกหัด
ดึงข้อมูลผู้ใช้ที่มีเงินเดือนเป็น
400 และ 900
ดึงข้อมูลผู้ใช้ที่มีอายุ
25, 27 และ 28 ปี โดยที่
id ต้องมากกว่า 2