شروط SQL (SQL Conditions)

أنواع الشروط في SQL

تتنوع الشروط في SQL لتشمل مجموعة واسعة من العمليات المنطقية والمقارنات. فيما يلي بعض الأنواع الرئيسية:

  • شروط المقارنة: تُستخدم للمقارنة بين قيمتين. تشمل عوامل المقارنة: = (يساوي)، > (أكبر من)، < (أصغر من)، >= (أكبر من أو يساوي)، <= (أصغر من أو يساوي)، و <> أو != (لا يساوي).
  • شروط النطاق: تُستخدم لتحديد ما إذا كانت قيمة تقع ضمن نطاق معين. يُستخدم عامل التشغيل BETWEEN لتحديد النطاق.
  • شروط العضوية: تُستخدم لتحديد ما إذا كانت قيمة موجودة في مجموعة من القيم. يُستخدم عامل التشغيل IN لتحديد المجموعة.
  • شروط النمط: تُستخدم لمطابقة قيمة مع نمط معين. يُستخدم عامل التشغيل LIKE مع أحرف البدل % (يمثل أي عدد من الأحرف) و _ (يمثل حرفًا واحدًا).
  • شروط القيمة الفارغة: تُستخدم للتحقق مما إذا كانت قيمة ما فارغة (NULL). يُستخدم العاملان IS NULL و IS NOT NULL.
  • الشروط المنطقية: تُستخدم لدمج شروط متعددة. تشمل عوامل التشغيل المنطقية: AND (و)، OR (أو)، و NOT (ليس).

شروط المقارنة بالتفصيل

تعتبر شروط المقارنة من أبسط أنواع الشروط وأكثرها استخدامًا. يتم استخدامها لمقارنة قيمة عمود بقيمة ثابتة أو بقيمة عمود آخر. على سبيل المثال:

لاسترجاع جميع العملاء الذين تزيد أعمارهم عن 30 عامًا، يمكن استخدام الاستعلام التالي:

SELECT * FROM Customers WHERE Age > 30;

وبالمثل، لاسترجاع جميع المنتجات التي تساوي أسعارها 100 دولار، يمكن استخدام الاستعلام التالي:

SELECT * FROM Products WHERE Price = 100;

شروط النطاق بالتفصيل

تستخدم شروط النطاق عامل التشغيل BETWEEN لتحديد نطاق من القيم. يتم تضمين القيمتين الحدّيتين للنطاق في النتيجة. على سبيل المثال:

لاسترجاع جميع الطلبات التي تم تقديمها بين تاريخين محددين، يمكن استخدام الاستعلام التالي:

SELECT * FROM Orders WHERE OrderDate BETWEEN '2023-01-01' AND '2023-01-31';

هذا الاستعلام سيسترجع جميع الطلبات التي تم تقديمها في شهر يناير 2023.

شروط العضوية بالتفصيل

تستخدم شروط العضوية عامل التشغيل IN للتحقق مما إذا كانت قيمة موجودة في مجموعة من القيم. على سبيل المثال:

لاسترجاع جميع المنتجات التي تنتمي إلى الفئات “إلكترونيات” أو “ملابس”، يمكن استخدام الاستعلام التالي:

SELECT * FROM Products WHERE Category IN ('إلكترونيات', 'ملابس');

هذا الاستعلام سيسترجع جميع المنتجات التي تندرج تحت أي من هاتين الفئتين.

شروط النمط بالتفصيل

تستخدم شروط النمط عامل التشغيل LIKE مع أحرف البدل % و _ لمطابقة قيمة مع نمط معين. الحرف % يمثل أي عدد من الأحرف (بما في ذلك لا شيء)، بينما الحرف _ يمثل حرفًا واحدًا.

لاسترجاع جميع العملاء الذين تبدأ أسماؤهم بالحرف “A”، يمكن استخدام الاستعلام التالي:

SELECT * FROM Customers WHERE FirstName LIKE 'A%';

لاسترجاع جميع المنتجات التي تحتوي أسماؤها على الكلمة “شاشة”، يمكن استخدام الاستعلام التالي:

SELECT * FROM Products WHERE ProductName LIKE '%شاشة%';

شروط القيمة الفارغة بالتفصيل

تستخدم شروط القيمة الفارغة العاملين IS NULL و IS NOT NULL للتحقق مما إذا كانت قيمة ما فارغة (NULL). القيمة NULL تمثل قيمة غير معروفة أو مفقودة.

لاسترجاع جميع العملاء الذين لم يتم تسجيل عنوان بريدهم الإلكتروني، يمكن استخدام الاستعلام التالي:

SELECT * FROM Customers WHERE Email IS NULL;

لاسترجاع جميع المنتجات التي لديها قيمة في حقل الوصف، يمكن استخدام الاستعلام التالي:

SELECT * FROM Products WHERE Description IS NOT NULL;

الشروط المنطقية بالتفصيل

تستخدم الشروط المنطقية عوامل التشغيل AND و OR و NOT لدمج شروط متعددة. يُستخدم AND لربط شرطين بحيث يجب أن يكون كلاهما صحيحًا. يُستخدم OR لربط شرطين بحيث يجب أن يكون أحدهما على الأقل صحيحًا. يُستخدم NOT لنفي شرط.

لاسترجاع جميع العملاء الذين تزيد أعمارهم عن 30 عامًا ويقيمون في مدينة نيويورك، يمكن استخدام الاستعلام التالي:

SELECT * FROM Customers WHERE Age > 30 AND City = 'نيويورك';

لاسترجاع جميع المنتجات التي تقل أسعارها عن 50 دولارًا أو تنتمي إلى الفئة “إلكترونيات”، يمكن استخدام الاستعلام التالي:

SELECT * FROM Products WHERE Price < 50 OR Category = 'إلكترونيات';

لاسترجاع جميع العملاء الذين لا يقيمون في مدينة لندن، يمكن استخدام الاستعلام التالي:

SELECT * FROM Customers WHERE NOT City = 'لندن';

أهمية الشروط في SQL

تعتبر الشروط في SQL ضرورية لعدة أسباب:

  • تصفية البيانات: تسمح الشروط باسترجاع مجموعات فرعية محددة من البيانات بناءً على معايير معينة.
  • تحسين الأداء: من خلال تصفية البيانات غير الضرورية، يمكن للشروط تحسين أداء استعلامات SQL.
  • التحقق من صحة البيانات: يمكن استخدام الشروط للتحقق من صحة البيانات قبل إدخالها في قاعدة البيانات.
  • تنفيذ منطق معقد: يمكن استخدام الشروط لدمج منطق معقد في استعلامات SQL.

أمثلة متقدمة على استخدام الشروط

فيما يلي بعض الأمثلة المتقدمة على استخدام الشروط في SQL:

استخدام الشروط في عبارة HAVING: تستخدم عبارة HAVING لتصفية النتائج بعد تجميع البيانات باستخدام عبارة GROUP BY. يمكن استخدام الشروط في عبارة HAVING لتصفية المجموعات بناءً على معايير معينة.

SELECT Category, AVG(Price) AS AveragePrice FROM Products GROUP BY Category HAVING AVG(Price) > 100;

هذا الاستعلام سيسترجع الفئات التي يزيد متوسط أسعار المنتجات فيها عن 100 دولار.

استخدام الشروط في الاستعلامات الفرعية: يمكن استخدام الاستعلامات الفرعية داخل الشروط لتصفية البيانات بناءً على نتائج استعلام آخر.

SELECT * FROM Orders WHERE CustomerID IN (SELECT CustomerID FROM Customers WHERE City = 'نيويورك');

هذا الاستعلام سيسترجع جميع الطلبات التي تم تقديمها من قبل عملاء يقيمون في مدينة نيويورك.

أفضل الممارسات لاستخدام الشروط في SQL

لتحقيق أقصى استفادة من الشروط في SQL، يوصى باتباع أفضل الممارسات التالية:

  • استخدام الفهارس: يمكن للفهارس تحسين أداء الاستعلامات التي تستخدم الشروط بشكل كبير.
  • تجنب استخدام LIKE مع % في بداية النمط: يمكن أن يكون هذا النوع من الاستعلامات بطيئًا جدًا.
  • استخدام EXISTS بدلاً من COUNT(*): في بعض الحالات، يمكن أن يكون استخدام EXISTS أكثر كفاءة من استخدام COUNT(*) في الشروط.
  • كتابة شروط واضحة وموجزة: يمكن أن يؤدي ذلك إلى تحسين قابلية قراءة الاستعلامات وصيانتها.

خاتمة

تعتبر الشروط في SQL أداة قوية ومرنة لتصفية البيانات واسترجاعها بناءً على معايير محددة. من خلال فهم أنواع الشروط المختلفة وكيفية استخدامها بشكل فعال، يمكن للمطورين ومهندسي البيانات تحسين أداء استعلامات SQL الخاصة بهم والحصول على رؤى قيمة من البيانات.

المراجع