نستخدم المعامل top مع جملة select في لغة SQL في برنامج الاكسيس MS access وذلك للحصول على عدد محدد من السجلات التى تنطبق عليها شروط معينة.
فى بعض الأحيان نحتاج لجلب عدد معين من الصفوف (السجلات records) فمثلا قد نرغب فى جلب عدد أول خمس سجلات من سجلات المعلمين فى جدول المعلمين teachers طبقا لحقل المرتب salary أو طبقا لحقل الاسم الأول tfname سواء تصاعديا أو تنازليا
ولإجراء مثل هذه الاستعلامات نستخدم المعامل select top ثم نكتب عدد السجلات التى نريد استرجاعها فمثلا عند الرغبة فى استرجاع عدد 5 سجلات نكتب الصيغة
لاسترجاع عدد أول 5 سجلات من جدول المعلمين teachersمرتبين طبقا للاسم الأول tfname مرتبة تصاعديا من الأصغر للأكبر من a to z ..نستخدم هذا الاستعلام
ولاسترجاع عدد 10 سجلات بيانات جدول المعلمين teachers
مرتبة طبقا لحقل المرتب salaryتنازليا من الأكبر إلى الأصغر نستخدم هذا الاستعلام
ولاسترجاع نسبة معينة من الجدول ولتكن 50% من سجلات جدول المعلمين teachers طبقا لحقل المرتبات salary وتم ترتيب السجلات المسترجعة تنازليا من الأكبر إلى الأصغر نستخدم هذا الاستعلام
فى بعض الأحيان نحتاج لجلب عدد معين من الصفوف (السجلات records) فمثلا قد نرغب فى جلب عدد أول خمس سجلات من سجلات المعلمين فى جدول المعلمين teachers طبقا لحقل المرتب salary أو طبقا لحقل الاسم الأول tfname سواء تصاعديا أو تنازليا
ولإجراء مثل هذه الاستعلامات نستخدم المعامل select top ثم نكتب عدد السجلات التى نريد استرجاعها فمثلا عند الرغبة فى استرجاع عدد 5 سجلات نكتب الصيغة
select top 5
ثم نكتب اسماء الحقول التى نريد استرجاعها من الجدول ثم نذكر اسم الجدول فمثلا عند الرغبة فى استرجاع عدد 5 سجلات من بيانات كافة المعلمين فى جدول المعلمين
select top 5 * from teachers;
ونتيجة هذا الاستعلام سيتم جلب أول عدد 5 سجلات من جدول المعلمين.
ولدينا الأن جدول المعلمين teachers كما هو موضح بالشكل التالي:-
لاسترجاع عدد أول 4 سجلات من جدول المعلمين
teachers بحيث يكون عنوان سكنهم محافظة الجيزة giza نقوم
بإجراء هذا الاستعلام
Select top 4 * from teachers where
address =“giza”
ونلاحظ أن الرمز * يشير إلى كل البيانات
..وتم وضع علامتي اقتباس مزدوج قبل كلمة الجيزة
giza
لأنها نص كما أوضحنا سابقا
لاسترجاع عدد أو ل 4 سجلات من جدول
المعلمين teachersطبقا لمرتباتهم مرتبة تصاعديا من الأصغر
للأكبر ..نستخدم هذا الاستعلام
Select top 4 * from teachers order by
salary
ونلاحظ أننا لم نكتب asc بعد
كلمة order
by لأنه
يمكن تجاهلها.
نلاحظ أنه تم استرجاع عدد 5 من السجلات
مرتبة تصاعديا طبقا للمرتب وإذا قمنا بعد السجلات التى ظهرت فى الاستعلام
نلاحظ أن عددها هو 5 سجلات وليس 4 كما
ذكرنا فى الاستعلام وذلك لأن آخر سجلين متساوين فى المرتب كما هو واضح فى المثال.
لاسترجاع عدد أول 5 سجلات من جدول المعلمين teachersمرتبين طبقا للاسم الأول tfname مرتبة تصاعديا من الأصغر للأكبر من a to z ..نستخدم هذا الاستعلام
;Select top 5 * from teachers order by tfname
ونلاحظ أننا لم نكتب asc بعد
كلمة order
by لأنه
يمكن تجاهلها.
نلاحظ أنه تم استرجاع عدد أول 5 من
السجلات الخاصة بالمعلمين فى جدول
المعلمين teachersمرتبة تصاعديا طبقا للاسم الأول tfname وذلك
طبقا للاستعلام الذى أجريناه
Select
top 10 * from teachers order by salary desc;
نلاحظ أنه تم استرجاع أعلى عدد 10 سجلات طبقا للمرتبات فى جدول المعلمين teachers وتم ترتيب السجلات تنازليا من الأكبر إلى الأصغر طبقا للمرتب كما هو واضح فى المثالولاسترجاع نسبة معينة من الجدول ولتكن 50% من سجلات جدول المعلمين teachers طبقا لحقل المرتبات salary وتم ترتيب السجلات المسترجعة تنازليا من الأكبر إلى الأصغر نستخدم هذا الاستعلام
Select top 50 percent* from teachers order by salary ;
نلاحظ أنه تم استرجاع أعلى 50% من بيانات جدول المعلمين teachers وذلك طبقا لحقل المرتب salary وتم ترتيب السجلات تنازليا طبقا للمرتب تنازليا من الأكبر إلى الأصغر كما هو موضح.
ليست هناك تعليقات:
إرسال تعليق