انتقل إلى محتوى الدرس

Negating Conditions with NOT عكس الشرط بمعامل NOT

اعكس القيمة المنطقية للشروط باستخدام NOT وافهم لماذا تبقى نتيجة NOT NULL غير معروفة.
1 صفوف تعليمية
MySQL
7 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

يعكس المعامل الأحادي 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;