SQL โดยที่ข้อในหลายเงื่อนไข

Sql Doythi Khx Ni Hlay Ngeuxnkhi



ฐานข้อมูลเป็นหน่วยการสร้างที่สำคัญของแอปพลิเคชันสมัยใหม่ อย่างไรก็ตาม ฐานข้อมูลเก็บข้อมูลจำนวนมหาศาล ดังนั้นเราจึงต้องการวิธีการกรองข้อมูลและดึงเฉพาะระเบียนที่จำเป็นเท่านั้น

วิธีการกรองข้อมูลที่แพร่หลายที่สุดวิธีหนึ่งของ SQL คือการใช้คำสั่ง WHERE ส่วนคำสั่ง WHERE ใน SQL ช่วยให้เราสามารถกรองระเบียนตามเงื่อนไขที่กำหนดได้ ข้อนี้สามารถระบุหนึ่งหรือหลายเงื่อนไขที่ช่วยให้เราสามารถกรองระเบียนที่ส่งกลับโดยคำสั่ง SELECT







บทช่วยสอนนี้จะสำรวจวิธีการทำงานกับคำสั่งย่อย WHERE และระบุเงื่อนไขหลายรายการในคำสั่งเดียว ซึ่งช่วยให้ควบคุมและกรองข้อมูลแบบละเอียดได้มากขึ้น



SQL WHERE พื้นฐานข้อ

เรามาเริ่มกันที่พื้นฐานและเรียนรู้พื้นฐานของการทำงานกับ WHERE clause ใน SQL



สมมติว่าเรามีตารางที่เก็บข้อมูลประเทศ และเราดึงเฉพาะประเทศที่มีประชากร (ต่อตารางกิโลเมตร) มากกว่า 100 และพื้นที่ที่มากกว่า 2000000





เราสามารถเรียกใช้แบบสอบถามได้ดังนี้:

เลือก * จาก sample_db.country_information
พื้นที่ไหน > 2,000,000 และ จำนวนประชากรต่อตารางกิโลเมตร > 100 ;


ในตัวอย่างก่อนหน้านี้ เราใช้คำสั่งย่อย WHERE และตัวดำเนินการ AND เพื่อระบุสองเงื่อนไข การใช้ตัวดำเนินการ AND เป็นการบอก SQL ว่าต้องปฏิบัติตามเงื่อนไขทั้งสองเพื่อให้บันทึกรวมอยู่ในชุดผลลัพธ์



สิ่งนี้ควรส่งคืนเฉพาะประเทศที่ตรงกับเกณฑ์ที่ระบุดังต่อไปนี้:


ลองดูที่ตัวดำเนินการอื่นๆ เพื่อระบุหลายเงื่อนไขใน WHERE clause

SQL หรือตัวดำเนินการ

ตัวดำเนินการ OR ช่วยให้เราสามารถระบุหลายเงื่อนไขใน WHERE clause ยังคงไม่เหมือนกับตัวดำเนินการ AND ที่กำหนดให้ตรงตามเงื่อนไขทั้งหมด ตัวดำเนินการ OR ต้องการเงื่อนไขอย่างน้อยหนึ่งข้อเพื่อให้ตรงตามเงื่อนไข

ตัวอย่างเช่น ในการเลือกประเทศที่มีพื้นที่มากกว่า 2000000 หรือประชากร (ต่อตารางกิโลเมตร) ที่มากกว่า 100 เราสามารถเรียกใช้แบบสอบถามต่อไปนี้:

เลือก * จาก sample_db.country_information
พื้นที่ไหน > 2,000,000 หรือ จำนวนประชากรต่อกม > 100 ;


ในกรณีนี้ แบบสอบถามควรส่งคืนผลลัพธ์ดังนี้:

ตัวดำเนินการ SQL IN

เรายังสามารถใช้ตัวดำเนินการ IN เพื่อระบุค่าหลายค่าสำหรับคอลัมน์ ตัวอย่างเช่น หากต้องการเลือกประเทศที่มีสตริง 'United States' และ 'Russia' เราสามารถเรียกใช้การค้นหาได้ดังนี้:

เลือก * จาก sample_db.country_information
ประเทศไหน IN ( 'สหรัฐ' , 'รัสเซีย' ) ;


ผลลัพธ์:

SQL ไม่ใช่ตัวดำเนินการ

ตัวดำเนินการ NOT ช่วยให้เราสามารถปฏิเสธเงื่อนไขที่กำหนดได้

ตัวอย่างเช่น เลือกประเทศที่ไม่มีพื้นที่ที่ระบุและเป็นที่นิยมต่อตารางกิโลเมตร:

เลือก * จาก sample_db.country_information
ที่ไม่ใช่พื้นที่ > 2,000,000 และ จำนวนประชากรต่อตารางกิโลเมตร > 100 ;


ผลลัพธ์:

ตัวดำเนินการหลายตัวของ SQL

เรายังสามารถรวมโอเปอเรเตอร์หลายตัวเข้าด้วยกันเพื่อระบุเงื่อนไขที่ซับซ้อนยิ่งขึ้น

เลือก * จาก sample_db.country_information
ที่ไหน ( ประเทศ_information.area > 2,000,000 และ จำนวนประชากรต่อตารางกิโลเมตร > 100 ) หรือ ประเทศ = 'จีน' ;


เอาท์พุต:


ในตัวอย่างนี้ เราใช้วงเล็บเพื่อจัดกลุ่มเงื่อนไขสองเงื่อนไขแรก เพื่อให้ประเมินเป็นเงื่อนไขเดียวก่อนที่จะเปรียบเทียบกับเงื่อนไขที่สาม

บทสรุป

เราได้เรียนรู้วิธีใช้คำสั่ง WHERE เพื่อระบุหลายเงื่อนไขใน SQL นอกจากนี้ เรายังกล่าวถึงตัวดำเนินการ AND, OR, IN และ NOT และค้นพบวิธีรวมเข้าด้วยกันเพื่อสร้างเงื่อนไขที่ซับซ้อนมากขึ้น