مشاهدة النسخة كاملة : الدرس السابع : إستعراض البيانات جزء 1 - التكرار و الترتيب



skybird6114
06-08-2011, 12:02 AM
في الحقيقة هذا هو أهم موضوع سنتكلم عنه و السبب قي ذلك أن كل العمل في النهاية يصل إلى هذه النقطة و الحصول على النتائج من البيانات التي تم تسجيلها و هي الهدف الأساسي لقواعد البيانات
لذا فالأمر الخاص بهذا الموضوع من أكبر الأوامر تقريبا في SQL
حتى في مراجع SQL يأخذ هذا الأمر عدد كبير من الصفحات لشرحه و فهمه جيدا
هذا الأمر هو SELECT وهي تعني إختيار مجموعة بيانات لعرضها
وقد تكلمنا عن هذا الأمر من قبل بشكل سريع.
*** الأوامر السابقة كانت مجموعة الأوامر التى تتعامل مع الجدول نفسه و لكن الأوامر الجديدة بدءا من هذا الدرس ستتعامل مع محتويات الجدول من بيانات و تسمى هذه المجموعة من الأوامر Data Manipulation Language و تختصر DML.
*** هذه الأوامر هي روح و حياة لغة SQL و خاصة الأمر SELECT و الذي سندرسه مقسما لعدة دروس و ذلك بسبب أهمية هذا الأمر فعملية إنشاء الجدول و إضافة و حذف الحقول هي عملية تتم غالبا عند بداية العمل و نحتاج إليها قليلا فيما بعد و لكن معظم العمل الحقيقي هو التعامل مع البيانات نفسها من حذف و إضافة بيانات و إستخراج تقارير و إحصائيات و غيرها
فهذا هو العمل اليومي و المستمر لذا فالمرحلة القادمة هي مرحلة مهمة جدا و يجب فهمها جيدا.
لذلك سوف أقوم بشرح هذا الأمر على عدة مراحل و لذا فقد وضعت عملية إستعراض البيانات على عدة دروس
و الآن لنبدأ بالشكل البسيط لهذا الأمر كما بالشكل التالي :
http://farm3.static.flickr.com/2698/5807855866_e6515d7039_b.jpg
http://farm4.static.flickr.com/3334/5807289077_3813d42d8b_b.jpg
نبدأ بإستعراض هيكل الجدول EMP و نتعرف على الحقول الموجودة به
http://farm3.static.flickr.com/2244/5807289123_6ba86d31a0_z.jpg

http://farm4.static.flickr.com/3263/5807289157_bc90e2c90f.jpg

انتبه يوجد 4 مسارات متفرعة من الأمر .. لو تحركنا مع المسار السفلي سنجد الأمر SELECT
http://farm6.static.flickr.com/5307/5807289211_e96b7dc36f_b.jpg
إنظر للمسار الأول و الذي يليه الفرق بينهما كلمة ALL و التي كما ذكرنا يمكن أن تكتب أو لا و سوف يؤدي نفس معنى الأمر و إذا كتبت يجب أن يتبعها حقول حيث أنها تعرض جميع السجلات للحقول المذكورة و إن لم يتبعها حقول سيكون هناك رسالة خطأ كما بالمثال التالي
http://farm3.static.flickr.com/2722/5807289245_d4dcb413f3.jpg

*** إستعراض البيانات بدون تكرار

ما هي أسماء الوظائف الموجودة بهذا الجدول ؟؟؟
هذه سهلة با أستاذ سنستخدم ما تعلمنا لعرض حقل الوظائف فقط .. أحسنت !! نفذ .. حاضر

http://farm4.static.flickr.com/3091/5807856258_db9073723a.jpg

http://farm3.static.flickr.com/2794/5807856290_ee9c3871f6.jpg


كما يمكن إستخدام البديل DISTINCT أي منهما كما تشاء بمعنى كلمة unique و distinct تؤديان نفس الوظيفة. ( حاول تجربة ذلك).

كما يمكن إستخدام أكثر من حقل مع UNIQUE .. فمثلا لإظهار الأقسام الموجود بها كل وظيفة

http://farm3.static.flickr.com/2238/5807289511_1c33a887ba.jpg

*** إستعراض البيانات مع الترتيب :

و الآن إستخدام جديد للأمر SELECT
مطلوب أسماء العاملين و لكن بالترتيب الأبجدي و الحل في الأمر SELECT الذي يستخدم لعرض البيانات و لكن مع إضافة إختيار جديد للأمر و هي الكلمة ORDER BY و معناها ترتيب البيانت طبقا للحقول التي تأتي بعدها و يكتب الأمر كالتالي
ORDER BY 'field' ASC | DESC,..............

http://farm4.static.flickr.com/3598/5807856664_02aeeecdd8_z.jpg

http://farm3.static.flickr.com/2743/5807289847_53eb217ea0_z.jpg

أي أنه يمكن الترتيب بإستخدام اكثر من حقل مع إختيار نوع الترتيب لكل حقل
ASC و تعني ترتيب تصاعدي أي أ ب ت و هكذا و في حالة كتابة الحقل بدون تحديد نوع الترتيب فيفترض أنه ترتيب تصاعدي مباشرة حتى بدون كتابة ASC
المثال التالي يوضح ذلك
http://farm3.static.flickr.com/2533/5807856608_1744282cdc.jpg
تم عرض البيانات بالشكل العادي ثم في المثال التالي سيتم ترتيب البيانات طبقا لإسم العامل
http://farm4.static.flickr.com/3598/5807856664_02aeeecdd8_z.jpg
لاحظ ترتيب أسماء العاملين ابجديا ... و الآن سنرتب برقم القسم أولا ثم إسم العامل و لاحظ الفرق في شكل الترتيب
سنكرر المثال السابق مع عكس ترتيب أسماء العاملين ليكون تنازلي
http://farm4.static.flickr.com/3464/5807856760_7b6b0b8dd8_b.jpg

و نستكمل بقية إستخدامات الأمر SELECT في الدرس القادم.