كيفية استخدام عوامل المقارنة والعامل IS NULL في لغة الاستعلام البنيوية SQL
يا هلا بالجميع! اليوم راح نتعمق شوي في جزء أساسي ومهم جداً في SQL: عوامل المقارنة وكمان العامل IS NULL اللي بيحير ناس كتير. ببساطة، عوامل المقارنة هي اللي بتخليك تحدد شروط معينة عشان تسترجع البيانات اللي تبيها من قاعدة البيانات.
1. عوامل المقارنة الأساسية
هذي هي العوامل اللي راح تستخدمها كل يوم تقريباً:
التساوي (=)
يستخدم عشان تتأكد إن قيمة حقل معين بتساوي قيمة محددة.
SELECT * FROM Products WHERE Price = 100;
أكبر من (>)
عشان تطلع القيم اللي أكبر من قيمة معينة.
SELECT * FROM Orders WHERE Quantity > 5;
أصغر من (<)
عشان تطلع القيم اللي أصغر من قيمة معينة.
SELECT * FROM Employees WHERE Salary < 3000;
أكبر من أو يساوي (>=)
نفس اللي فوق، بس بيشمل القيمة اللي بتحددها.
SELECT * FROM Students WHERE Grade >= 90;
أصغر من أو يساوي (<=)
نفس اللي فوق، بس بيشمل القيمة اللي بتحددها.
SELECT * FROM Books WHERE Pages <= 200;
لا يساوي (<> أو !=)
عشان تستبعد القيم اللي بتساوي قيمة معينة. الاثنين <> و != بيشتغلوا بنفس الطريقة.
SELECT * FROM Customers WHERE Country <> 'USA';
SELECT * FROM Customers WHERE Country != 'USA';
2. العامل IS NULL: التعامل مع القيم المجهولة
هنا الموضوع يصير شيق شوي. في SQL، لما تشوف NULL في حقل، هذا معناه إن القيمة غير معروفة، أو غير مطبقة، أو ببساطة مش موجودة. NULL مش صفر، ومش نص فاضي ('').
ليش ما نستخدم = NULL؟
سؤال ممتاز! لأن NULL بيمثل قيمة مجهولة، ما تقدر تقارنها بقيمة مجهولة تانية باستخدام عوامل المقارنة العادية (=, <>, إلخ). تخيل إنك بتسأل: "هل الشيء المجهول يساوي الشيء المجهول؟" الإجابة دايماً بتكون "غير معروف" أو UNKNOWN، و SQL بتترجمها لـ FALSE في سياق WHERE.
ملاحظة: لو جربت تكتب
WHERE Column = NULL، ماراح يرجعلك أي نتائج (إلا في استثناءات بسيطة جداً بتعتمد على إعدادات السيرفر).
كيف نستخدم IS NULL و IS NOT NULL؟
عشان كذا، SQL أعطتنا عاملين مخصوصين للتعامل مع NULL:
IS NULL: يستخدم عشان تطلع السجلات اللي فيها قيمةNULLفي حقل معين.
SELECT * FROM Employees WHERE Email IS NULL;
IS NOT NULL: يستخدم عشان تطلع السجلات اللي فيها قيمة (أي قيمة غيرNULL) في حقل معين.
SELECT * FROM Employees WHERE PhoneNumber IS NOT NULL;
خلاصة الكلام
عوامل المقارنة هي أداتك الأساسية لتصفية البيانات. تذكر دايماً إن NULL حالة خاصة، وتحتاج تستخدم IS NULL أو IS NOT NULL للتعامل معها صح. طبق الأمثلة هذي على قاعدة بيانات عندك وشوف بنفسك كيف بتشتغل!