Logo

03 กรองข้อมูลด้วย WHERE

กรองข้อมูลด้วย 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

  1. ดึง order ที่ amount มากกว่า 1000
  2. ดึง order ที่ status เป็น paid
  3. ดึง order ที่ order_date อยู่ในเดือนมกราคม
  4. ดึง order ที่ status เป็น paid และ amount มากกว่า 1000