Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> SQL Server

รวมเงื่อนไข AND และ OR ใน SQL Server

การรวม 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) หากซับซ้อน