اجعل رورو44 صفحتك الرئيسية | احفظ رورو44 في مفضلتك | ارسل رورو44 إلى صديقك | أعلن على رورو44 | English Interface

 

 

 

شات خدمات مسجات جوال بطاقات رسائل حب دليل مواقع شات خليجي  دردشة منتديات حسناء الفارس عالم الرومانسية

مواقع سعودية | مواقع كويتية | مواقع بحرينية | مواقع قطرية | مواقع عمانية | مواقع يمنية | مواقع عراقية | مواقع اماراتية

 
    دروس في قواعد البيانات  سكيول - SQL
 

 

دورة SQL [الدرس الثالث : الجزء الثاني] : التعمق في الشروط



نكمل معاً درسنا الثالث :) فبعد أن تعرفنا على ماهيّة الشرط في أمر Select في الجزء الأول من الدرس .. نتحدث عن الشروط بإسهاب في الجزء الثاني :

طريقة استخدام كلمة BETWEEN في الشرط فهي كالتالي :

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

SELECT column_name FROM table_name WHERE column_name BETWEEN value1 AND value2;

أمثلة :

 كي نسترجع سجلات الموظفين الذين تتراوح أرقامهم ما بين الرقم 10 إلى الرقم 40 ، نكتب الأمر التالي :

SELECT * FROM EMPLOYEE
WHERE NUMBER BETWEEN 10 AND 40;

وفي النتيجة ستترتب السجلات تصاعدياً من حيث الحقل الذي ذكرناه في الشرط ، وهو في هذا المثال : NUMBER  كالتالي :

عندما تكون القيمتين عبارة عن نص ، فإننا نسترجع القيم التي بينهما مرتبة أبجدياً ، وليس كما هي مرتبة أو مخزنة في الجدول  ، مثال : لاسترجاع سجلات الموظفين الذين تقع أسماؤهم الأخيرة بين " حمد " و " علي " نكتب الأمر - تذكر أن البحث عن النصوص خاضع لحكم الترتيب الأبجدي -:

SELECT * FROM EMPLOYEE
WHERE LNAME BETWEEN 'حمد' AND 'علي';

والنتيجة هنا ستكون عبارة عن ثلاث سجلات فقط ومرتبة أبجدياً كما سنرى في الصورة حيث أن سجل حمد قبل سجلا علي ( في حقل LNAME ) :

 


ملاحظة مهمة :
 
تختلف برامج قواعد البيانات في طريقة تعاملها مع BETWEEN ... AND ، فبعض البرامج تعتبر القمتين المحددتين من ضمن نطاق البحث  فتكون موجودة في النتائج ، وبعضها لا تعتبرها كذلك فلا تشملها النتائج ، وبعضها يعتبر القيمة الأولى داخل نطاق البحث والقيمة الثانية خارج النطاق وهكذا ، لذلك لابد من أن تتعرف على برنامجك بالتجربة !!والتجربة خير برهان .

هذا بالنسبة لكلمة BETWEEN ، أما طريقة استخدام كلمة LIKE في الشرط فهي كالتالي :

نستخدم كلمة LIKE في الشرط كي تبحث لنا عن جميع البيانات التي تشترك في معيار معين نحدده نحن بواسطة هذه الكلمة ، وصياغة الأمر في هذه الحالة يكون كالتالي : 

SELECT column FROM table
WHERE column LIKE pattern معيار ;

الحكمة في استخدام LIKE هي أنه يمكنك أن تبحث بها بواسطة جزء من البيان إن لم تكن تعرف البيان كاملاً ، فلو كنّا نعرفه كاملاً لاستخدمنا علامة المساواة ( = ) مباشرةً ،فمثلاً لو كنا نريد استرجاع سجلات الموظفين الذين تبدأ أسماؤهم بحرف الباء فقط لن نستطيع حصر جميع الأسماء التي تبدأ بحرف الباء لذلك نستخدم LIKE  ، أو لو كنا نريد استرجاع سجلات الموظفين الذين يسكنون في مدينة الرياض مثلاً ، من المستحيل أن نحفظ عناوينهم كاملة ، ولكن نستطيع البحث عن سجلاتهم عن طريق استخدام كلمة " الرياض " في الشرط LIKE ، نستخدم مع LIKE  علامة النسبة المئوية (%) في مكان الخانات التي لا نعرفها " المفقودة " في المعيار .

أمثلة:

1. للبحث عن سجلات الموظفين الذين تبدأ أسماؤهم بحرف الباء في جدول الموظفين نستخدم الأمر التالي :

SELECT * FROM EMPLOYEE
WHERE FNAME LIKE 'ب%'
;
/* وضعنا (%) بعد حرف الباء أي في مكان الخانات المفقودة */

والنتيجة هي :

2. للبحث عن سجلات الموظفين الذين ينتهي اسمهم الأول بحرف الدال ، نستخدم الأمر التالي :

SELECT * FROM EMPLOYEE

WHERE FNAME LIKE '%د'
;
/* وضعنا (%) قبل حرف الدال ، أي في مكان الخانات المفقودة */

والنتيجة هي :

3. للبحث عن سجلات الموظفين الذين يسكنون في مدينة الرياض ، نستخدم الأمر التالي :

SELECT * FROM EMPLOYEE
WHERE ADDRESS LIKE '%RYADE%'
; /*استخدمنا (%) مرتين في البداية والنهاية لأن العنوان في جدول الموظفين يبدأ برقم المنزل، ثم المدينة ( الرياض )، ثم الدولة*/

والنتيجة هي :

 

4. للبحث عن الموظفين الذين ولدوا في الثمانينات ، نستخدم الأمر التالي:

SELECT * FROM EMPLOYEE
WHERE BDATE Like '--8-------';
 /* استخدمنا (-) مكان الخانات المفقودة لأننا نعلم أن حقل تاريخ الميلاد من نوع DATE
وأن هذا النوع من البيانات يحجز له عشر خانات ،راجع انواع البيانات في الدرس الثاني */

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

 ملاحظة هامة :
 
في برنامج الآكسس استخدم علامة النجمة * بدلاً من علامة النسبة المئوية % في الشرط LIKE .

 

هذا كل شئ بالنسبة للشرط ، أما عندما يكون لدينا أكثر من شرط : في هذه الحالة فإننا نشملها جميعها في  WHERE عن طريق وضع الروابط المنطقية بينها مثل : AND, OR كالتالي :

عند استخدام AND بين الشروط :

النتيجة تكون عبارة عن جميع السجلات التي تحققت فيها جميع الشروط ، أي أن الشروط التي وضعنا بينها AND لا بد أن تكون جميعها محققة True كي يظهر السجل في النتيجة ، مثال :
لكي نطلب سجل الموظف المسمى بـ :"محمد علي" نكتب الأمر التالي:

SELECT * FROM EMPLOYEE
WHERE FNAME = 'محمد' AND LNAME = 'علي';

فإن النتيجة التي ستظهر لنا تحتوي فقط على سجلات الموظفين الذين اسمهم " محمد علي "، ولن تظهر سجلات الموظفين الآخرين الذين اسمهم " محمد فلان " أو " فلان علي " ، كالتالي :

 

عند استخدام OR بين الشروط :

النتيجة ستحوي سجلات الموظفين الذين تحققت فيهم أحد الشروط أو جميعها ، يكفي فقط في أي سجل أن يكون شرط واحد محقق كي يظهر السجل في النتيجة ، مثال :
لكي نطلب سجلات الموظفين الذين اسمهم الأول " محمد " أو اسمهم الأخير " علي " نكتب الأمر التالي :

SELECT * FROM EMPLOYEE
WHERE FNAME = 'محمد' OR LNAME = 'علي';

والنتيجة ستحوي سجلات الموظفين الذين اسمهم الأول " محمد " أو اسمهم الأخير " علي " أو اسمهم كاملاً : " محمد علي " ، ستشملهم النتيجة جميعاً إن شاء الله كالتالي :


يمكنك كذلك أن تستخدم AND + OR بين الشروط باختلاف اشكالها لاستعلام واحد ، كن حذراً واستخدم الأقواس في ذلك ، مثال :

SELECT * FROM EMPLOYEE
WHERE ( FNAME = 'محمد' OR LNAME = 'علي') AND NUMPER BETWEEN 30 AND 50;

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



بهذا نكون انتيهنا من الشروط بجميع أجزاءها واختلاف ألوانها وصيغها ،
 
تعلمنا في الجزء الثاني من الدرس الثالث :
  •  استخدام BETWEEN ... AND في الشرط .

  • استخدام LIKE في الشرط .

  • الجمع بين الشروط باستخدام AND .

  • الجمع بين الشروط باستخدام OR .

  • الجمع بين الشروط باستخدام AND + OR واستخدام الأقواس في ذلك .

وهكذا يكون الدرس الثالث بجزأيه قد انتهي بفضل من الله ..
ولتلخيص لما درسناه اليوم ، احتفظ بالصورة التالية والتي توضح ترتيب الأوامر عند استخدامها مع SELECT ، جميع الأوامر المكتوبة باللون الأحمر اختيارية ويتم اختيار أحد الأوامر من بين  الاقواس لاستخدامه :

واجب الجزء الثاني :

أكتب أمر SQL لعرض سجلات الموظفين الذين يشتغلون في القسم رقم "5" و الذين يسكنون في مدينة مكة المكرمة .

وفق الله الجميع لما يحب ويرضى



المزيد من المواضيع

أمر التجميع والإحتواء ودوال المجموع SQL Group & SQL HAVING with Aggregate Function
دورة SQL [الدرس الخامس] : الربط في السيكيول SQL Join
دورة SQL [الدرس الرابع / الجزء الثاني] : أوامر إضافة ، تحديث، وحذف السجلات
دورة SQL [الدرس الرابع / الجزء الأول] : الدوال SQL Functions
دورة SQL [الدرس الثالث : الجزء الأول] : الأمر Select ... From ... Where
دورة SQL [الدرس الأول] : مقدمة في قواعد البيانات

1

 

الاقسام الرئيسية

دروس للمبتدئين

--

دروس في أنظمة التشغيل

--

دروس في الانترنت

--

دروس في لغات البرمجة

--

دروس في برمجة المواقع

--

دروس في الأوفيس

--

دروس في الرسوم و التصميم

--

دروس في قواعد البيانات

--

دروس في الألعاب والبرامج

--

دروس في المكونات الصلبة

--

دروس في الشبكات

--

دروس في أمن المعلومات

--

دروس في الذكاء الاصطناعي

--

القائمة البريدية

  فضائح | ماسنجر | تداول | الحياة الزوجية | عجائب وغرائب| دروس تعليمية | عالم حواء | فضائح الفن | ستار اكاديمي | نكت | برامج | صور | | شات سعودي | شات عربي | ماسينجر | مسجات | دليل مواقع | دليلك | مواقع سعودية | مواقع كويتية | مواقع بحرينية | مواقع قطرية | مواقع عمانية | مواقع يمنية | مواقع عراقية | مواقع اماراتية | دردشة خليجية | دردشة سعودية | دردشة عربية | شات صوتي | دردشة صوتية | دردشة كويتية | دردشة اماراتية | دردشة عمانية | دردشة قطرية | دردشة بحرينية | دردشة عراقية | دردشة يمنية | سكس | طريق الاسلام, انا مسلم , طريق الهدايه , مسلمون , منوعات اسلاميه | اسلاميات , برامج اسلامية , منوعات اسلامية | جنس | الاسرة المسلمة , الاسرة العربية , اسرتي , عائلتي | برامج الاسره , نصائح معلومات , اسرة عربية سعودية خليجية | دروس تعليمية , مكتبة الدروس التعليمية | شروح برامج , شرح برامج , دورات تعليميه | طب وصحه - المركز الطبي | طبيبك على الانترنت , معلومات طبية , معلومات صحيه

Roro44.com xml :                            

شات سعودي | شات عربي | شات خليجي | العاب | دردشات | العاب بنات

 |  اشهر موقعك | احصائيات الموقع | اسعار الاعلانات |  لمراسلة الإدارة  |

:: ©2007-2003 www.roro44.com All rights reserved ::