AND, OR และ NOT เป็นโอเปอเรเตอร์ที่ใช้งานร่วมกับ WHERE เพื่อกรองข้อมูลด้วยเงื่อนไขมากกว่า 1 เงื่อนไขในการดึงข้อมูลจากฐานข้อมูล โดยที่
ANDจะแสดงผลลัพธ์เมื่อเงื่อนไขทุกเงื่อนไขเป็นจริงORจะแสดงผลลัพธ์เมื่อเงื่อนไขใดเงื่อนไขหนึ่งเป็นจริงNOTจะแสดงผลลัพธ์เมื่อเงื่อนไขไม่เป็นจริง
รูปแบบการใช้งานโอเปอเรเตอร์ AND
SELECT column1, column2, ...
FROM table_name
WHERE condition1 AND condition2 AND condition3 ...;
รูปแบบการใช้งานโอเปอเรเตอร์ OR
SELECT column1, column2, ...
FROM table_name
WHERE condition1 OR condition2 OR condition3 ...;
รูปแบบการใช้งานโอเปอเรเตอร์ NOT
SELECT column1, column2, ...
FROM table_name
WHERE NOT condition;
ตัวอย่างการใช้งาน
AND ใช้เมื่อ ทุกเงื่อนไขต้องเป็นจริง ข้อมูลจึงจะถูกแสดง
SQL
SELECT title, rating, length
FROM film
WHERE rating = 'PG' AND length > 120;WHERE rating = 'PG' AND length > 120กำหนดเงื่อนไขให้แสดงเฉพาะภาพยนตร์ที่- มีเรตติ้งเป็น
'PG' - และมีความยาว มากกว่า 120 นาที
- มีเรตติ้งเป็น
OR ใช้เมื่อ อย่างน้อยหนึ่งเงื่อนไขเป็นจริง จึงจะแสดงข้อมูลนั้น
SQL
SELECT title, rating
FROM film
WHERE rating = 'G' OR rating = 'PG';WHERE rating = 'G' OR rating = 'PG'กำหนดเงื่อนไขให้แสดงเฉพาะภาพยนตร์ที่มีเรตติ้งเป็น'G'= General Audiences (เหมาะสำหรับทุกวัย)'PG'= Parental Guidance (ควรมีผู้ปกครองให้คำแนะนำ)
- ใช้คำสั่ง
ORหมายความว่า ถ้าเงื่อนไขใดเงื่อนไขหนึ่งเป็นจริง ก็จะแสดงผลลัพธ์นั้น
NOT ใช้เพื่อ ปฏิเสธเงื่อนไข หรือแสดงข้อมูลที่ไม่ตรงตามเงื่อนไขนั้น
SQL
SELECT title, rating
FROM film
WHERE NOT rating = 'R';WHERE NOT rating = 'R'กำหนดเงื่อนไขให้ แสดงเฉพาะภาพยนตร์ที่เรตติ้งไม่ใช่ ‘R’NOTเป็นโอเปอเรเตอร์ที่ใช้สำหรับ ปฏิเสธเงื่อนไข
หรือจะใช้ NOT กับ IN ก็ได้ เช่น
SQL
SELECT title, rating
FROM film
WHERE rating NOT IN ('R', 'NC-17');WHERE rating NOT IN ('R', 'NC-17')กำหนดเงื่อนไขให้ แสดงเฉพาะภาพยนตร์ที่ไม่ใช่เรต R และ NC-17NOT IN (...)คือการปฏิเสธค่าที่อยู่ในรายการ
ตัวอย่างการใช้ AND OR NOT ร่วมกัน
SQL
SELECT title, rating, length
FROM film
WHERE (rating = 'PG' OR rating = 'G')
AND length BETWEEN 90 AND 120
AND NOT title LIKE 'A%';WHERE (rating = 'PG' OR rating = 'G')กำหนดเงื่อนไขให้แสดงเฉพาะภาพยนตร์ที่มีเรตติ้งเป็น'PG'หรือ'G'AND length BETWEEN 90 AND 120กรองเพิ่มเติมเฉพาะภาพยนตร์ที่มีความยาวอยู่ในช่วง 90 ถึง 120 นาทีAND NOT title LIKE 'A%'ตัดภาพยนตร์ที่ ชื่อขึ้นต้นด้วยตัวอักษร A ออกNOT LIKE 'A%'= ไม่ใช่ชื่อที่เริ่มต้นด้วย A
