شرح WHERE Clause في لغة SQL
بيان WHERE هو أحد أهم الأدوات في SQL لتصفية السجلات واسترجاع البيانات التي تهمك فقط.
ما هو بيان WHERE؟
يُستخدم شرط WHERE في SQL لتصفية السجلات واستخراج فقط تلك التي تحقق شرطًا معينًا. فهو يسمح لك بتحديد المعايير التي يجب أن تفي بها السجلات المراد استردادها. يمكنك استخدامه مع SELECT وUPDATE وDELETE.
FROM table_name
WHERE condition;
مثال عملي
لنفترض أن لدينا جدول "العملاء" التالي:
| 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 Country='Mexico';
حقول النص مقابل الحقول الرقمية
تتطلب SQL وجود علامات اقتباس مفردة حول القيم النصية. أما الحقول الرقمية فلا تحتاج علامات اقتباس. يمكنك استخدام هذا الشرط لتحديد بيانات دقيقة بناءً على نوع الحقل.
WHERE CustomerID=1;
ملاحظة: لا يُستخدم شرط WHERE فقط في SELECT، بل أيضًا في UPDATE وDELETE وINSERT عند الحاجة.
المشغلات في شرط WHERE
يمكنك استخدام مشغلات متعددة لتحديد شروط معقدة:
| المشغل | الوصف | مثال |
|---|---|---|
| = | يساوي | WHERE Country = 'Mexico' |
| > | أكبر من | WHERE CustomerID > 80 |
| < | أقل من | WHERE CustomerID < 10 |
| >= | أكبر من أو يساوي | WHERE Age >= 18 |
| <= | أقل من أو يساوي | WHERE Price <= 100 |
| <> | لا يساوي | WHERE Country <> 'Mexico' |
| BETWEEN | بين نطاق معين | WHERE Price BETWEEN 50 AND 100 |
| LIKE | البحث عن نمط | WHERE CustomerName LIKE 'a%' |
| IN | لتحديد قيم متعددة محتملة لعمود | WHERE Country IN ('Germany', 'France') |
مثال عملي: تحديد جميع العملاء الذين لديهم CustomerID أكبر من 80:
WHERE CustomerID > 80;
تمرين
ما هو الغرض من شرط WHERE في SQL؟
- لتحديد الجدول الذي سيتم اختيار البيانات منه
- لتصفية السجلات التي تستوفي شرطًا محددًا
- لدمج جداول متعددة معًا
- لترتيب السجلات بترتيب تصاعدي
الإجابة الصحيحة: لتصفية السجلات التي تستوفي شرطًا محددًا
تعليقات
إرسال تعليق