الرئيسية
سجل الزوار
القائمة البريدية
راسلنا
خريطة الموقع
جديد الصور
جديد البطاقات
جديد الصوتيات
المتواجدون الآن
تغذيات RSS
2012-08-15 03:31
بعد أن تعرفنا على أوامر إنشاء قاعدة البيانات وجداولها وما إلى ذلك ، نأتي إلى درس اليوم والذي يعتبر مخ استخدام قواعد البيانات في أي مجال ، وهو استخراج البيانات من اي قاعدة بيانات .
الأمر SELECT - SELECT Statement :
يستخدم هذا الأمر لتحديد واسترجاع حقول البيانات التي تريدها من أي جدول في قاعدة البيانات ، يقدم لك النتيجة في جدول أيضاً ، صيغة هذا الأمر كالتالي :
SELECT column_name(s)
FROM table_name;
نفصل بين الحقول المطلوبة عند استخدام هذا الأمر بالفاصلة (،) .. مثال : لتحديد واسترجاع حقول اسماء الموظفين من جدول الموظفين ، نكتب :
SELECT FNAME , LNAME
FROM EMPLOYEE;
وهكذا ، يمكننا تحديد الحقل بياناته الخاصة بكل السجلات الموجودة في قاعدة البيانات ،أما لو كانت البيانات في الحقل الواحد من الممكن أن تكون متكررة ( مثل رقم القسم في حقل DNO في جدول الموظفين ) فإنه ليس من العملي ان نسترجع قيم مكررة ، وعليه نستطيع أن نستخدم كلمة DISTINCT مع أمر SELECT فيعطينا النتيجة بدون تكرار للقيم ، مثال :
SELECT DISTINCT DNO
FROM EMPLOYEE;
أعطانا أرقام الأقسام بدون تكرار
إذن كلمة DISTINCT تستخدم مع الأمر SELECT لاسترجاع أو استخراج القيم المختلفة ، وعليه تكون صياغة الأمر كالتالي :
SELECT DISTINCT column-name(s) FROM table-name;
وأما إذا كنّا نريد استخراج جميع الحقول من جدول محدد أو من عدة جداول ، فليس علينا ان نكتب جميع أسماء الحقول أو الأعمدة ، بل يكفي فقط أن نضع النجمة (*) ليعطينا جميع الحقول ، مثال :
SELECT * FROM EMPLOYEE;
من الممكن ان نطلب الترتيب في اكثر من حقل (عمود) واحد ، فتأتينا النتيجة مرتبة على حسب قيم الحقل الأول ومن ثم تنتقل لترتيب قيم الحقل الثاني في ظل ترتيب الحقل الأول ، مثال :
SELECT * FROM EMPLOYEE
ORDER BY FNAME, DNO DESC;
والنتيجة ستكون عبارة عن جدول ترتبت فيه قيم حقل FNAME أبجدياً من ثم ترتبت فيه قيم حقل DNO تنازلياً في ظل الترتيب الأبجدي الأول !!
لا يستخدم الأمر SELECT فقط لإسترجاع بيانات من الجداول سواء كانت مرتبة أو لا ، وإنما يمكننا أن نستخدم العمليات الرياضية الاعتيادية فيه ، فمثلاً لو زدنا عدد ساعات عمل الموظفين بمقدار ساعتين ، فيمكننا من خلال استخدام أمر SELECT أن نسترجع عدد ساعات العمل الجديدة للموظفين لحساب الزيادة في رواتبهم مثلاً .. كما يوضح الأمر التالي :
SELECT HOURS+2 AS New_Hours FROM WORKS_ON;
ستخدمنا AS لإعادة تسمية الحقل عند عرض النتيجة فقط ، ولا يؤدي ذلك إلى تغيير اسم الحقل الأساسي في الجدول !!
الشرط WHERE Clause :
الشرط هو أحد أجزاء الأمر SELECT ، نستخدمه حينما نريد استرجاع قيم معينة ومحددة من أي حقل ، لا جميع القيم الموجودة في الحقل وإنما القيم التي نريدها وفق المعايير التي نحددها في الشرط ، صيغته كالتالي :
SELECT columnX FROM table
WHERE columnY operator value;
من الممكن أن يكون columnX هو نفسه columnY ومن الممكن ان يكون حقل مختلف تماماً ولكن في نفس الجدول ،
مثال :
كي نستخرج السجلات كاملة لجميع الموظفين الذين يشتركون في اسم " محمد " :
SELECT * FROM EMPLOYEE
WHERE FNAME = 'محمد';
وهكذا بالنسبة للعمليات الاعتيادية ذات اللون الاسود في الجدول ، أما طريقة استخدام كلمة BETWEEN & LIKE ففي الشرط فسنتعرف عليها إن شاء الله في الجظء الثاني من هذا الدرس .
ملاحظة مهمة جداً :
في الشرط ، نستخدم قوس الاقتباس المفرد ( ' ) فقط حينما يكون الشرط عبارة عن نص ، أما إذا كان رقم فلا نحتاج للقوس .
إذن تعلمنا في الجزء الأول من الدرس الثالث التالي :
الأمر SELECT ...... FROM .
استرجاع القيم المختلفة باستخدام كلمة DISTINCT .
عرض جميع الحقول باستخدام النجمة * .
ترتيب النتائج باستخدام ORDER BY .
تسمية الحقل في جدول النتائج باستخدام AS .
الشرط WHERE واستخدام العمليات المنطقية المعتادة فيه .
إذا أردت أن تطبق هذه الأوامر عملياً في برنامج الأكسس ، شاهد العرض الفلاشي التالي لتتعرف على الطريقة :
الآن ،خذ قسطاً من الراحة وتنفس بعمق ثم انتقل لقراءة الجزء الثاني من الدرس ،، والله ولي التوفيق
واجب الجزء الأول :
اكتب أمر SQL لعرض حقل hours من جدول العمل WORKS_ON بدون تكرار لقيمه ، وبترتيب تصاعدي !!
|
|
خدمات المحتوى
|
تقييم
|
|
|
Powered by Dimofinf cms Version 3.0.0
Copyright© Dimensions Of Information Inc.