กรองข้อมูลด้วย WHERE
WHERE ใช้กำหนดเงื่อนไขเพื่อเลือกเฉพาะ row ที่ต้องการ
เปรียบเทียบค่า
SELECT *
FROM customers
WHERE country = 'Thailand';
ตัวดำเนินการที่ใช้บ่อย:
=เท่ากับ!=หรือ<>ไม่เท่ากับ>มากกว่า>=มากกว่าหรือเท่ากับ<น้อยกว่า<=น้อยกว่าหรือเท่ากับ
AND และ OR
SELECT *
FROM orders
WHERE amount >= 1000
AND status = 'paid';
SELECT *
FROM customers
WHERE country = 'Thailand'
OR country = 'Singapore';
IN
SELECT *
FROM customers
WHERE country IN ('Thailand', 'Singapore', 'Japan');
BETWEEN
SELECT *
FROM orders
WHERE amount BETWEEN 500 AND 2000;
LIKE
ใช้ค้นหาข้อความตาม pattern
SELECT *
FROM customers
WHERE name LIKE 'A%';
A% หมายถึงขึ้นต้นด้วย A
IS NULL
หาค่าว่างต้องใช้ IS NULL ไม่ใช่ = NULL
SELECT *
FROM customers
WHERE phone IS NULL;
แบบฝึกหัด
จาก table orders
- ดึง order ที่
amountมากกว่า 1000 - ดึง order ที่
statusเป็นpaid - ดึง order ที่
order_dateอยู่ในเดือนมกราคม - ดึง order ที่
statusเป็นpaidและamountมากกว่า 1000