Operators ใน WHERE Clause
ในบทที่แล้ว เราได้เรียนรู้เกี่ยวกับ WHERE Clause ซึ่งเป็นส่วนสำคัญในการกรองข้อมูลจากตารางในฐานข้อมูล MySQL ในบทนี้ เราจะมาเจาะลึกถึง Operators ต่างๆ ที่เราสามารถใช้ใน WHERE Clause เพื่อสร้างเงื่อนไขที่ซับซ้อนยิ่งขึ้น
Operators คืออะไร?
Operators คือสัญลักษณ์ที่ใช้ในการดำเนินการต่างๆ ทางคณิตศาสตร์ หรือการเปรียบเทียบ ในบริบทของ WHERE Clause Operators จะใช้เพื่อเปรียบเทียบค่าในคอลัมน์กับค่าที่เราต้องการกรองข้อมูล
Operators พื้นฐานที่ควรรู้
ต่อไปนี้คือ Operators พื้นฐานที่ใช้บ่อยที่สุดใน WHERE Clause พร้อมคำอธิบายและตัวอย่าง:
1. Operator เท่ากับ (=)
Operator = ใช้เพื่อตรวจสอบว่าค่าในคอลัมน์เท่ากับค่าที่กำหนดหรือไม่
ตัวอย่าง:
SELECT * FROM customers WHERE city = 'London';
คำสั่ง SQL นี้จะเลือกข้อมูลทั้งหมดจากตาราง customers โดยที่ค่าในคอลัมน์ city เท่ากับ 'London'
2. Operator มากกว่า (>)
Operator > ใช้เพื่อตรวจสอบว่าค่าในคอลัมน์มากกว่าค่าที่กำหนดหรือไม่
ตัวอย่าง:
SELECT * FROM products WHERE price > 50;
คำสั่ง SQL นี้จะเลือกข้อมูลทั้งหมดจากตาราง products โดยที่ค่าในคอลัมน์ price มากกว่า 50
3. Operator น้อยกว่า (<)
Operator < ใช้เพื่อตรวจสอบว่าค่าในคอลัมน์น้อยกว่าค่าที่กำหนดหรือไม่
ตัวอย่าง:
SELECT * FROM orders WHERE order_date < '2023-01-01';
คำสั่ง SQL นี้จะเลือกข้อมูลทั้งหมดจากตาราง orders โดยที่ค่าในคอลัมน์ order_date น้อยกว่าวันที่ 1 มกราคม 2023
4. Operator มากกว่าหรือเท่ากับ (>=)
Operator >= ใช้เพื่อตรวจสอบว่าค่าในคอลัมน์มากกว่าหรือเท่ากับค่าที่กำหนดหรือไม่
ตัวอย่าง:
SELECT * FROM employees WHERE salary >= 30000;
คำสั่ง SQL นี้จะเลือกข้อมูลทั้งหมดจากตาราง employees โดยที่ค่าในคอลัมน์ salary มากกว่าหรือเท่ากับ 30000
5. Operator น้อยกว่าหรือเท่ากับ (<=)
Operator <= ใช้เพื่อตรวจสอบว่าค่าในคอลัมน์น้อยกว่าหรือเท่ากับค่าที่กำหนดหรือไม่
ตัวอย่าง:
SELECT * FROM products WHERE quantity <= 10;
คำสั่ง SQL นี้จะเลือกข้อมูลทั้งหมดจากตาราง products โดยที่ค่าในคอลัมน์ quantity น้อยกว่าหรือเท่ากับ 10
6. Operator ไม่เท่ากับ (!= หรือ <>)
Operator != หรือ <> ใช้เพื่อตรวจสอบว่าค่าในคอลัมน์ไม่เท่ากับค่าที่กำหนดหรือไม่ ทั้งสอง operators นี้มีความหมายเหมือนกันและสามารถใช้สลับกันได้
ตัวอย่าง:
SELECT * FROM customers WHERE country != 'USA';
หรือ
SELECT * FROM customers WHERE country <> 'USA';
คำสั่ง SQL เหล่านี้จะเลือกข้อมูลทั้งหมดจากตาราง customers โดยที่ค่าในคอลัมน์ country ไม่เท่ากับ 'USA'
ตัวอย่างการใช้งาน Operators ร่วมกับฐานข้อมูลตัวอย่าง
สมมติว่าเรามีตาราง products ที่มีข้อมูลดังนี้:
+----+-------------+-------+----------+
| id | name | price | quantity |
+----+-------------+-------+----------+
| 1 | Laptop | 1200 | 5 |
| 2 | Mouse | 25 | 50 |
| 3 | Keyboard | 75 | 30 |
| 4 | Monitor | 300 | 15 |
| 5 | USB Drive | 10 | 100 |
+----+-------------+-------+----------+
ต่อไปนี้คือตัวอย่างการใช้งาน Operators ต่างๆ กับตาราง products:
- ค้นหาสินค้าที่มีราคาเท่ากับ 75:
SELECT * FROM products WHERE price = 75;
ผลลัพธ์:
+----+----------+-------+----------+
| id | name | price | quantity |
+----+----------+-------+----------+
| 3 | Keyboard | 75 | 30 |
+----+----------+-------+----------+
SELECT * FROM products WHERE price > 100;
ผลลัพธ์:
+----+----------+-------+----------+
| id | name | price | quantity |
+----+----------+-------+----------+
| 1 | Laptop | 1200 | 5 |
| 4 | Monitor | 300 | 15 |
+----+----------+-------+----------+
SELECT * FROM products WHERE quantity < 20;
ผลลัพธ์:
+----+----------+-------+----------+
| id | name | price | quantity |
+----+----------+-------+----------+
| 1 | Laptop | 1200 | 5 |
| 4 | Monitor | 300 | 15 |
+----+----------+-------+----------+
SELECT * FROM products WHERE price >= 300;
ผลลัพธ์:
+----+----------+-------+----------+
| id | name | price | quantity |
+----+----------+-------+----------+
| 1 | Laptop | 1200 | 5 |
| 4 | Monitor | 300 | 15 |
+----+----------+-------+----------+
SELECT * FROM products WHERE quantity <= 10;
ผลลัพธ์:
+----+-----------+-------+----------+
| id | name | price | quantity |
+----+-----------+-------+----------+
| 1 | Laptop | 1200 | 5 |
+----+-----------+-------+----------+
SELECT * FROM products WHERE name != 'Mouse';
ผลลัพธ์:
+----+-----------+-------+----------+
| id | name | price | quantity |
+----+-----------+-------+----------+
| 1 | Laptop | 1200 | 5 |
| 3 | Keyboard | 75 | 30 |
| 4 | Monitor | 300 | 15 |
| 5 | USB Drive | 10 | 100 |
+----+-----------+-------+----------+
ข้อควรจำ
- Operators เหล่านี้สามารถใช้ได้กับ Data Types ที่หลากหลาย เช่น ตัวเลข ข้อความ และวันที่
- การใช้ Operators ที่ถูกต้องเป็นสิ่งสำคัญเพื่อให้ได้ผลลัพธ์ที่ต้องการ
- สามารถใช้ Operators หลายตัวร่วมกันใน
WHEREClause เพื่อสร้างเงื่อนไขที่ซับซ้อนมากขึ้น ซึ่งเราจะกล่าวถึงในบทต่อๆ ไป
สรุป
ในบทนี้ เราได้เรียนรู้เกี่ยวกับ Operators พื้นฐานที่ใช้ใน WHERE Clause ซึ่งเป็นเครื่องมือสำคัญในการกรองข้อมูลใน MySQL การเข้าใจ Operators เหล่านี้เป็นพื้นฐานสำคัญในการเขียน Queries ที่มีประสิทธิภาพ ในบทต่อไป เราจะเรียนรู้เกี่ยวกับ Clause ORDER BY ซึ่งใช้ในการเรียงลำดับข้อมูลที่ได้จากการ Query