شرح NOT Operator في لغة SQL
يُستخدم عامل التشغيل NOT بالاشتراك مع العوامل الأخرى لإعطاء النتيجة المعاكسة، والتي تسمى أيضًا النتيجة السلبية.
ما هو عامل التشغيل NOT؟
عامل التشغيل NOT يُستخدم لاستبعاد السجلات التي تطابق شرطًا معينًا. فهو يعكس نتيجة الشرط، أي يعرض فقط السجلات التي لا تطابق المعيار المحدد.
FROM table_name
WHERE NOT condition;
مثال عملي على NOT
لنفترض أن لدينا جدول "العملاء":
| CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
|---|---|---|---|---|---|---|
| 1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
| 2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
| 3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
| 4 | Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
| 5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
تحديد جميع العملاء الذين ليسوا من إسبانيا:
WHERE NOT Country = 'Spain';
استخدام NOT مع عوامل أخرى
يمكن استخدام NOT مع LIKE, BETWEEN, IN, >, < لإظهار بيانات معاكسة للشرط:
| النوع | الوصف | مثال |
|---|---|---|
| NOT LIKE | تحديد العملاء الذين لا يبدأ اسمهم بحرف معين |
SELECT * FROM Customers WHERE CustomerName NOT LIKE 'A%';
|
| NOT BETWEEN | تحديد العملاء الذين لا يقعون ضمن نطاق معين |
SELECT * FROM Customers WHERE CustomerID NOT BETWEEN 10 AND 60;
|
| NOT IN | تحديد العملاء الذين ليسوا من مدن محددة |
SELECT * FROM Customers WHERE City NOT IN ('Paris', 'London');
|
| NOT Greater Than | تحديد العملاء الذين ليسوا أكبر من قيمة محددة |
SELECT * FROM Customers WHERE NOT CustomerID > 50;
|
| NOT Less Than | تحديد العملاء الذين ليسوا أقل من قيمة محددة |
SELECT * FROM Customers WHERE NOT CustomerID < 50;
|
الجمع بين NOT و AND / OR
يمكن استخدام NOT مع AND و OR لإنشاء شروط معقدة:
مثال: تحديد العملاء الذين ليسوا من Germany أو ليسوا من Berlin:
WHERE NOT (Country='Germany' AND City='Berlin');
مثال آخر: استبعاد العملاء الذين يبدأ اسمهم بـ A أو B:
WHERE NOT (CustomerName LIKE 'A%' OR CustomerName LIKE 'B%');
ملاحظات مهمة
1. NOT يعكس نتيجة أي شرط، ويعمل مع جميع عوامل المقارنة والمنطقية.
2. دمجه مع AND و OR يسمح بإنشاء شروط أكثر تعقيدًا.
3. يُستخدم NOT لإزالة السجلات غير المرغوبة بدلاً من اختيارها.
تمرين
ما هو الغرض الأساسي من عامل التشغيل NOT في SQL؟
- لتصفية السجلات التي تطابق شرطًا محددًا
- لتصفية السجلات التي لا تطابق شرطًا محددًا
- لتصفية السجلات التي تطابق شروطًا متعددة
- لتصفية السجلات التي تساوي تمامًا شرطًا محددًا
الإجابة الصحيحة: لتصفية السجلات التي لا تطابق شرطًا محددًا
تعليقات
إرسال تعليق