SQL NOT Operator

NOT برای معکوس کردن نتیجه‌ی یک شرط استفاده می‌شود.
اگر شرط True باشد، NOT آن را False می‌کند و برعکس.

🟢 ساختار کلی

SELECT column1, column2, ... FROM table_name WHERE NOT condition;
  • تنها ردیف‌هایی انتخاب می‌شوند که شرط داخل NOT نادرست (False) باشد.

🟡 مثال‌های متداول

1️⃣ مقدار مساوی نباشد

SELECT * FROM users WHERE NOT city = 'Tehran';

همه‌ی کاربرانی که شهر آن‌ها تهران نیست.

معادل کوتاه‌تر:

WHERE city <> 'Tehran';

2️⃣ ترکیب با AND / OR

SELECT * FROM products WHERE NOT (category = 'Electronics' OR category = 'Books');

همه‌ی محصولاتی که نه الکترونیک هستند و نه کتاب.

3️⃣ همراه با IN

SELECT * FROM employees WHERE NOT department IN ('IT','HR');

کارمندانی که در هیچ‌کدام از واحدهای IT یا HR نیستند.

4️⃣ همراه با BETWEEN

SELECT * FROM orders WHERE NOT amount BETWEEN 100 AND 500;

سفارش‌هایی که مبلغشان خارج از بازه‌ی ۱۰۰ تا ۵۰۰ است.

5️⃣ همراه با LIKE

SELECT * FROM customers WHERE NOT name LIKE 'A%';

مشتریانی که نامشان با A شروع نمی‌شود.

🟠 نکات مهم

  • NOT می‌تواند هر شرط منطقی را معکوس کند.

  • در اولویت عملگرها، NOT قبل از AND و OR اجرا می‌شود؛
    برای شفافیت بهتر است از پرانتز استفاده کنید.

  • برای مقادیر NULL باید از IS NOT NULL استفاده شود:

    WHERE column IS NOT NULL;

✅ جمع‌بندی

  • NOT یعنی «برعکس کن»؛ هر چیزی که شرط را نادرست کند در نتیجه برگردانده می‌شود.

  • می‌تواند با IN، BETWEEN، LIKE، EXISTS و دیگر عملگرها ترکیب شود.

  • همیشه برای خوانایی و جلوگیری از ابهام، شرط‌های پیچیده را در پرانتز قرار دهید.