คำสั่ง SQL WHERE
WHERE ใช้ในการกรอง/แยกระเบียนที่ตรงตามเงื่อนไขที่ระบุเท่านั้น
ไวยากรณ์ WHERE
SELECT column1, column2, ...
FROM table_name
WHERE condition;
หมายเหตุ: WHERE ไม่ได้ใช้เฉพาะใน SELECT คำสั่งเท่านั้น แต่ยังใช้ใน UPDATE, DELETE, เป็นต้น!
ฐานข้อมูลสาธิต
ด้านล่างนี้คือการเลือกจากตาราง “Customers” ในฐานข้อมูลตัวอย่าง Northwind:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 | Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
WHERE Clause Example
คำสั่ง SQL ต่อไปนี้เลือกลูกค้าทั้งหมดจากประเทศ “เม็กซิโก” ในตาราง “ลูกค้า”:
ตัวอย่าง
SELECT * FROM Customers
WHERE Country='Mexico';
Text Fields vs. Numeric Fields
SQL ต้องการเครื่องหมายอัญประกาศเดี่ยวรอบค่าข้อความ (ระบบฐานข้อมูลส่วนใหญ่จะอนุญาตให้ใช้อัญประกาศคู่ด้วย)
อย่างไรก็ตาม ไม่ควรใส่ช่องตัวเลขไว้ในเครื่องหมายคำพูด:
ตัวอย่าง
SELECT * FROM Customers
WHERE CustomerID=1;
ตัวดำเนินการใน WHERE Clause
สามารถใช้ตัวดำเนินการต่อไปนี้ใน WHERE clause:
Operator | คำอธิบาย | ตัวอย่าง |
---|---|---|
= | เท่ากับ | คลิกเพื่อดู |
> | มากกว่า | คลิกเพื่อดู |
< | น้อยกว่า | คลิกเพื่อดู |
>= | มากกว่า หรือ เท่ากับ | คลิกเพื่อดู |
<= | น้อยกว่า หรือ เท่ากับ | คลิกเพื่อดู |
<> | ไม่เท่ากับ หมายเหตุ: SQL ในบางเวอร์ชัน ตัวดำเนินการนี้อาจเขียนเป็น != | คลิกเพื่อดู |
BETWEEN | ระหว่างช่วงหรือค่าที่กำหนด | คลิกเพื่อดู |
LIKE | การเสิร์ชรูปแบบ | คลิกเพื่อดู |
IN | ระบุค่าหลายค่าที่เป็นไปได้สำหรับคอลัมน์ |