شرح صفوف ومحتوى الفقرة
يعكس المعامل الأحادي NOT النتيجة المنطقية للشرط الذي يليه؛ فيحوّل الصواب 1 إلى خطأ 0، ويحوّل الخطأ 0 إلى صواب 1.
- عكس المقارنات: كتابة
WHERE NOT (stock_qty = 0)تكافئ منطقياً كتابةWHERE stock_qty <> 0. - سلوك القيمة الفارغة مع النفي: عكس القيمة غير المعروفة يبقى غير معروف؛ أي أن
NOT NULLيُعيدNULL، وبالتالي تُستبعد تلك الصفوف من نتائجWHERE.
في المقارنات البسيطة يُفضّل استخدام معاملات المقارنة المباشرة مثل >= أو <> لكونها أوضح قراءةً.
SQL
-- Exclude suspended accounts using NOT
SELECT user_id, username, account_state
FROM users
WHERE NOT (account_state = 'suspended');
SELECT (NOT 1) AS neg_true,
(NOT 0) AS neg_false,
(NOT NULL) AS neg_null;