منتدي
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

منتدي

منتدي تعليمي، ترفيهي، اجتماعي
 
الرئيسيةالرئيسية  البوابةالبوابة  الجديدالجديد  أحدث الصورأحدث الصور  التسجيلالتسجيل  دخولدخول  

 

 الدرس الثامن : استخدام لغة ( تقنية ) الإستعلامات بطريقة Tsql - الجزء الثاني

اذهب الى الأسفل 
2 مشترك
كاتب الموضوعرسالة
admin
المدير العام

المدير العام
admin


عدد المساهمات : 1578
الجنس : ذكر
تاريخ التسجيل : 27/06/2008

الدرس الثامن : استخدام لغة ( تقنية ) الإستعلامات بطريقة Tsql - الجزء الثاني Empty
مُساهمةموضوع: الدرس الثامن : استخدام لغة ( تقنية ) الإستعلامات بطريقة Tsql - الجزء الثاني   الدرس الثامن : استخدام لغة ( تقنية ) الإستعلامات بطريقة Tsql - الجزء الثاني Icon_minitimeالثلاثاء 22 يونيو 2010, 7:45 pm

استخدام معامل المساواة والمعاملات الرياضية .

تأخذ صيغة استخدام المساواة كشرط في عملية الإستعلام الصيغة التالية :


اقتباس :
Select * From Tb_Main Where Field = Value;


ويمكننا استخدام > أو < أو => أو =< أو <> وطبعاً = .
وأخيراً معاملين جدد سنشرحهم بإذن الله لاحقاً وهما Like و Between .

فمثلاً للاستعلام عن الأصدقاء الذي تساوي أعمارهم 18 سنة :


اقتباس :
SELECT * FROM tb_Main WHERE age = 18;


ولعرض أسماء من هم أصغر من 50 سنة :


اقتباس :
SELECT FName,LName FROM tb_Main where age < 50;


وسنضع Value بين علامتي تنصيص مفردة في حالة كانت نصوصاً وذلك بالشكل التالي - للبحث عن الأشخاص والذين لهم الإسم ( أحمد ) :


اقتباس :
SELECT * FROM tb_Main WHERE Fname = 'ahmed';


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


اقتباس :
Select * Form Table1 Where Date > #12/03/04#;


والآن لندمج بعض ما تعملناه في جملة واحدة :
لاستخراج الإسم الأول والأخير من الجدول بترتيب تنازلياً ومدمجة سوياً تحت اسم Name والتي تحقق شرط أن العمر أكبر من 17 :


اقتباس :
SELECT Fname & " " & Lname AS MyName FROM tb_Main WHERE age > 17 ORDER BY FNAME, LName DESC;


والآن : ماذا لو أردنا البحث بتحقيق مجموعة شروط أو أحدها أو تحقيق شرط مع انتفاء آخر ؟
من أجل هذا الغرض نستخدم المعاملات المنطقية البسيطة .

لدينا نوعين من المعاملات المنطقية البسيطة الأكثر استخداماً :
And : تعطي قيمة صحيحة True في حالة كان الطرفين صحيحاً والباقي false .
Or : تعطي قيمة صحيحة True في حالة كان أحد الطرفين صحيحاً وإلا فإنه يعطي false .


والآن إلى مثال سريع ، سنبحث عن الأشخاص الذين يكبر عمرهم عن 17 بشرط ألا يكونوا متزوجين :


اقتباس :
Select Fname from tb_main where age > 17 and marry = false;


لنفترض أيضاً أننا نريد معرفة الأشخاص الذين تزيد أعمارهم عن 17 سنة وليس لديهم بريد الكتروني :

** قبل أن تجرب المثال قم بتشغيل قاعدة البيانات وقم بحذف البريد الإلكتروني لبعض الأشخاص ، واكتب للبعض كلمة No Mail وللآخرين No .

الآن انظر الأمر التالي :


اقتباس :
SELECT * FROM Tb_Main WHERE age>17 And (Email='No' or Email='No Mail');


سنفصل الآن هذه الجملة :
* الشرط الأول : Age > 17 : العمر أكبر من 17 .
* الشرط الثاني : Email = 'No' : البريد الإلكتروني يحتوي على كلمة No .
* الشرط الثالث : Email = 'No Mail' : البريد الإلكتروني يحتوي على كلمة No Mail .

واستخدمنا نوعين من المعاملات المنطقية And و Or .

قبل النهاية كن حذراً عند استخدام And مع Or في جملة واحدة ، وذلك عن طريق ترتيب الأقواس بطريقة صحيحة .

استخدام المعامل Like .

نستخدم المعامل Like للبحث عن الكلمات المشابهه لتعبير معين ...
ونستخدم للمعامل Like الصيغة التالية :


اقتباس :
Select * From Table Where Field Like '*Name*';


نستخدم * للدلالة على وجود أحرف ما ... وقد نستخدمها في البداية ، أو النهاية ، أو كليهما . وسيتضح الأمر في الأمثلة :
لعرض الأشخاص الذين قد تحتوي أسماءهم الأولى على hm ... لذا سنستخدم جملة استعلام بهذا الشكل :


اقتباس :
SELECT * FROM Tb_Main WHERE FName like '*hm*';


أما لو أردنا البحث عن الأشخاص الذين تبدأ أسماءهم بحرف A لذا لن نضع * قبل كلمة البحث :


اقتباس :
SELECT * FROM Tb_Main WHERE FName like 'A*';


ولو أردنا البحث عن الأشخاص الذين ينتهي اسمهم بحرف معين سنضع * في البداية دون النهاية .

***
في MS SQL Server نستخدم % بدلاً من * .

مما سبق نستنتج أن * تعني أي عدد من الحروف ، لكن ماذا لو أردنا تحديد عدد الحروف ؟
في هذه الحالو نستخدم "؟" والتي ذكرناها في درس البحث في البداية .

إذن : ماذا لو أردنا أن نبحث عن الأشخاص الذين تبدأ أسماءهم بحرف A بشرط أن يكون عدد حروفهم 3 فقط .


اقتباس :
SELECT * FROM Tb_Main WHERE FName like 'A??';


والآن إلى مثال واقعي نسبياً . جرب تعديل حقل العنوان Address للأشخاص بحيث يحتوي على أكثر من معلومة اضافة للمدينة .
في هذه الحالة نستطيع استخراج الأشخاص الذين يسكنون مدينة واحدة عن طريق الشرط Like . هل تعرف كيف ؟؟؟

استخدام المعامل Between .

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


اقتباس :
SELECT colum FROM table WHERE field BETWEEN v1 AND v2;


فمثلاً لاستخراج الأشخاص الذين تترواح أعمارهم بين 20 و 60 :

اقتباس :
SELECT *


اقتباس :
FROM tb_main
WHERE age between 20 and 60;




ويمكن استخدام نفس الطريقة مع الأسماء ، والتواريخ بطبيعة الحال .

والله الموفق ...
والسلام عليكم ورحمة الله وبركاته .
الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://telbana.alafdal.net
نور الدين
نائب المدير

نائب المدير
نور الدين


عدد المساهمات : 5431
الجنس : ذكر
تاريخ التسجيل : 26/04/2010

الدرس الثامن : استخدام لغة ( تقنية ) الإستعلامات بطريقة Tsql - الجزء الثاني Empty
مُساهمةموضوع: رد: الدرس الثامن : استخدام لغة ( تقنية ) الإستعلامات بطريقة Tsql - الجزء الثاني   الدرس الثامن : استخدام لغة ( تقنية ) الإستعلامات بطريقة Tsql - الجزء الثاني Icon_minitimeالسبت 31 يوليو 2010, 3:37 am

بارك الله فيك
الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://telbana.alafdal.net
 
الدرس الثامن : استخدام لغة ( تقنية ) الإستعلامات بطريقة Tsql - الجزء الثاني
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
» الدرس الأخير : استخدام لغة ( تقنية ) الإستعلامات بطريقة Tsql - الجزء الرابع
» الدرس التاسع : استخدام لغة ( تقنية ) الإستعلامات بطريقة Tsql - الجزء الثالث
» الدرس السابع : استخدام لغة ( تقنية ) الإستعلامات بطريقة Tsql - الجزء الأول
» الدرس الثاني : 2 - مقدمة عامة عن أكسيس Access ، انشاء الجداول .
» 12 - الوسائل (Methods) الجزء الثاني

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
منتدي  :: المنتديات التقنية :: قسم لغات البرمجة :: دروس تعليم أكسيس للأستاذ أحمد جمال-
انتقل الى: