Skip to main content

اختيار البيانات داخل النطاقات في SQL

10- اسئلة عامة حول لغة sql (أبريل 2025)

10- اسئلة عامة حول لغة sql (أبريل 2025)
Anonim

توفر لغة الاستعلام الهيكلية (SQL) لمستخدمي قاعدة البيانات القدرة على إنشاء استعلامات مخصصة لاستخراج المعلومات من قواعد البيانات. في مقالة سابقة ، استكشفنا استخراج المعلومات من قاعدة بيانات باستخدام استعلامات SQL SELECT. لنقم بتوسيع هذه المناقشة واستكشف كيف يمكنك إجراء استعلامات متقدمة لاسترداد البيانات التي تطابق شروطًا محددة.دعونا نعتبر مثالاً يستند إلى قاعدة بيانات Northwind شائعة الاستخدام ، والتي عادةً ما تأتي مع منتجات قاعدة البيانات كبرنامج تعليمي.

إليك مقتطف من جدول منتجات قاعدة البيانات:

جدول المنتجات
معرف المنتجاسم المنتجواسم الموردالكمية لكل وحدةسعر الوحدهالوحدات في المخزن
1تشاي110 صناديق × 20 كيس18.0039
2تشانغ124 - 12 زجاجة أوقية19.0017
3اليانسون شراب112 - 550 مل قوارير10.0013
4توابل الشيف انطون الكاجون248 - 6 أوقية من الجرار22.0053
5الشيف انطون غومبو ميكس236 صندوقا21.350
6الجدة في Boysenberry انتشار312 - 8 أوقية جرة25.00120
7العم بوب المجفف والكمثرى312 - 1 رطل pkgs.30.0015

شروط الحدود البسيطة

تتضمن القيود الأولى التي سنضعها في استعلامنا شروطًا حدودية بسيطة. يمكننا تحديد هذه في جملة WHERE من استعلام SELECT ، باستخدام عبارات الشرط البسيطة التي تم إنشاؤها بواسطة عوامل التشغيل القياسية ، مثل <،> ،> = ، و <=.

أولاً ، دعنا نجرب استعلامًا بسيطًا يسمح لنا باستخراج قائمة بجميع المنتجات الموجودة في قاعدة البيانات التي تحتوي على سعر وحدة أكثر من 20.00:

SELECT ProductName ، UnitPrice FROM المنتجات WHERE UnitPrice> 20.00

ينتج عن ذلك قائمة بأربعة منتجات ، كما هو موضح أدناه:

ProductName UnitPrice ------- -------- الشيف انطون البامية المزيج 21.35 الشيف انطون الكاجون التوابل 22.00 الجدة في Boysenberry Spread 25.00 العم بوب العضوية الكمثرى 30.00

يمكننا أيضًا استخدام عبارة WHERE مع قيم السلسلة. هذا يساوي الأحرف إلى الأرقام بشكل أساسي ، مع A تمثل القيمة 1 و Z تمثل القيمة 26. على سبيل المثال ، يمكننا عرض جميع المنتجات ذات الأسماء التي تبدأ بـ U أو V أو W أو X أو Y أو Z مع الاستعلام التالي:

SELECT ProductName من المنتجات WHERE ProductName> = 'T'

والتي تنتج النتيجة:

ProductName ------- العم بوب العضوية الأجاص المجفف

التعبير عن النطاقات باستخدام الحدود

تسمح لنا أيضًا عبارة WHERE بتنفيذ شرط نطاق على قيمة باستخدام شروط متعددة. على سبيل المثال ، إذا أردنا الحصول على طلب البحث أعلاه وتقييد النتائج على المنتجات ذات الأسعار بين 15.00 و 20.00 ، فيمكننا استخدام طلب البحث التالي:

SELECT ProductName، UnitPrice FROM products WHERE UnitPrice> 15.00 AND UnitPrice <20.00

هذا يعطي النتيجة المبينة أدناه:

ProductName UnitPrice ------- -------- Chai 18.00 Chang 19.00

التعبير عن النطاقات مع BETWEEN

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

SELECT ProductName، UnitPrice FROM products WHERE UnitPrice BETWEEN 15.00 و 20.00

كما هو الحال مع بنود الشرط الأخرى ، تعمل BETWEEN مع قيم السلسلة أيضًا. إذا أردنا إنشاء قائمة بجميع البلدان التي تبدأ بـ V أو W أو X ، فيمكننا استخدام طلب البحث:

SELECT ProductName من المنتجات WHERE ProductName بين "A" و "D"

والتي تنتج النتيجة:

ProductName ------- Aniseed Syrup تشاي تشانغ طاه أنطون البامية التوابل التوابل انطون الكاجون

تعتبر جملة WHERE جزءًا فعالاً من لغة SQL التي تسمح لك بتقييد النتائج إلى قيم تقع ضمن نطاقات محددة. وهو يستخدم بشكل كبير للمساعدة في التعبير عن منطق الأعمال ويجب أن يكون جزءًا من مجموعة أدوات كل محترفي قواعد البيانات.

غالبًا ما يكون من المفيد دمج العبارات الشائعة في إجراء مخزن لجعله في متناول أولئك الذين ليس لديهم معرفة بـ SQL.