การรวม AND และ OR
เมื่อใช้ AND และ OR ร่วมกัน ต้องใช้วงเล็บ () เพื่อกำหนดลำดับการประเมินชัดเจน (Precedence: NOT > AND > OR)
รูปแบบคำสั่ง
WHERE (condition1 AND condition2)
OR (condition3 AND condition4)
...;
ตัวอย่าง
1. SELECT
SELECT *
FROM nhanvien
WHERE (ho = 'Anderson' AND ten = 'Sarah')
OR (nhanvien_id = 75);
คืน: (Anderson และ Sarah) หรือ ID=75
2. SELECT - ซับซ้อน
SELECT nhanvien_id, ho, ten
FROM nhanvien
WHERE (ho = 'Smith')
OR (ho = 'Anderson' AND ten = 'Sarah')
OR (nhanvien_id > 1000 AND bang = 'California');
3. INSERT
INSERT INTO danhba (ho, ten)
SELECT ho, ten
FROM nhanvien
WHERE (ho = 'Johnson' OR ho = 'Anderson')
AND nhanvien_id > 54;
คืน: (Johnson หรือ Anderson) และ ID > 54
4. UPDATE
UPDATE nhanvien
SET ho = 'TBD'
WHERE nhanvien_id <= 2000
AND (bang = 'California' OR bang = 'Arizona');
อัปเดต: ID ≤ 2000 และ (อยู่ California หรือ Arizona)
5. DELETE
DELETE FROM nhanvien
WHERE bang = 'California'
AND (ho = 'Johnson' OR ten = 'Joe');
ลบ: อยู่ California และ (นามสกุล Johnson หรือ ชื่อ Joe)
สรุป: ใช้วงเล็บเสมอเมื่อผสม AND/OR เพื่อไม่ให้เกิดความเข้าใจผิด ตรวจสอบ Logic ด้วยตารางความจริง (Truth Table) หากซับซ้อน