المسندات ALL أو DISTINCT أو DISTINCTROW أو TOP
Applies ToAccess لـ Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

يحدد السجلات المحددة باستخدام استعلامات SQL.

بناء الجملة

SELECT [ALL | DISTINCT | DISTINCTROW | [TOP n [PERCENT]]]جدول FROM

تحتوي عبارة SELECT التي تحتوي على هذه التقييمات على الأجزاء التالية:

الجزء

الوصف

ALL

يفترض إذا لم تقم بتضمين إحدى دالات التقييم. يحدد مشغل قاعدة بيانات Microsoft Access جميع السجلات التي تفي بالشروط في عبارة SQL. المثالان التاليان مكافئان ويعيدان جميع السجلات من جدول الموظفين:

SELECT ALL *FROM EmployeesORDER BY EmployeeID;
SELECT *FROM EmployeesORDER BY EmployeeID;

DISTINCT

حذف السجلات التي تحتوي على بيانات مكررة في الحقول المحددة. لتضمينها في نتائج الاستعلام، يجب أن تكون قيم كل حقل مدرج في عبارة SELECT فريدة. على سبيل المثال، قد يكون للعديد من الموظفين المدرجين في جدول "الموظفون" نفس اسم العائلة. إذا احتوى سجلان على Smith في الحقل LastName، فإن عبارة SQL التالية ترجع سجلا واحدا فقط يحتوي على Smith:

SELECT DISTINCT LastNameFROM Employees;

إذا حذفت DISTINCT، يقوم هذا الاستعلام بإرجاع كل من سجلات Smith.

إذا كانت عبارة SELECT تحتوي على أكثر من حقل واحد، فيجب أن تكون مجموعة القيم من جميع الحقول فريدة لسجل معين ليتم تضمينه في النتائج.

إخراج استعلام يستخدم DISTINCT غير قابل للتحديث ولا يعكس التغييرات اللاحقة التي أجراها مستخدمون آخرون.

DISTINCTROW

حذف البيانات استنادا إلى السجلات المكررة بالكامل، وليس فقط الحقول المكررة. على سبيل المثال، يمكنك إنشاء استعلام ينضم إلى جدولي العملاء والطلبات في حقل CustomerID. لا يحتوي جدول العملاء على حقول CustomerID مكررة، ولكن جدول الطلبات لا يحتوي عليه لأن كل عميل يمكن أن يكون لديه العديد من الطلبات. يوضح بيان SQL التالي كيف يمكنك استخدام DISTINCTROW لإنتاج قائمة بالشركات التي لديها طلب واحد على الأقل ولكن دون أي تفاصيل حول هذه الطلبات:

SELECT DISTINCTROW CompanyNameFROM Customers INNER JOIN OrdersON Customers.CustomerID = Orders.CustomerIDORDER BY CompanyName;

إذا حذفت DISTINCTROW، فإن هذا الاستعلام ينتج صفوفا متعددة لكل شركة لديها أكثر من طلب واحد.

يكون ل DISTINCTROW تأثير فقط عند تحديد حقول من بعض الجداول المستخدمة في الاستعلام وليس كلها. يتم تجاهل DISTINCTROW إذا كان الاستعلام يتضمن جدولا واحدا فقط، أو إذا قمت بإخراج الحقول من جميع الجداول.

TOP n [PERCENT]

إرجاع عدد معين من السجلات التي تقع في أعلى النطاق المحدد بواسطة عبارة ORDER BY أو أسفله. لنفترض أنك تريد أسماء أفضل 25 طالبا من الفصل الدراسي 1994:

SELECT TOP 25FirstName, LastNameFROM StudentsWHERE GraduationYear = 2003ORDER BY GradePointAverage DESC;

إذا لم تقم بتضمين عبارة ORDER BY، فسيرجع الاستعلام مجموعة عشوائية من 25 سجلا من جدول الطلاب تفي بجملة WHERE.

لا تختار دالة التقييم TOP بين القيم المتساوية. في المثال السابق، إذا كانت متوسطات نقاط الصف العليا الخامسة والعشرين والسادسة والعشرين هي نفسها، فسيرجع الاستعلام 26 سجلا.

يمكنك أيضا استخدام الكلمة المحجوزة PERCENT لإرجاع نسبة مئوية معينة من السجلات التي تقع في أعلى النطاق المحدد بواسطة عبارة ORDER BY أو أسفله. لنفترض أنه بدلا من أعلى 25 طالبا، تريد النسبة المئوية الدنيا من الفصل الدراسي وهي 10 في المائة:

SELECT TOP 10 PERCENTFirstName, LastNameFROM StudentsWHERE GraduationYear = 2003ORDER BY GradePointAverage ASC;

تحدد دالة تقييم ASC إرجاع القيم السفلية. يجب أن تكون القيمة التي تتبع TOP عددا صحيحا غير موقع.

لا يؤثر TOP على ما إذا كان الاستعلام قابلا للتحديث أم لا.

table

اسم الجدول الذي يتم استرداد السجلات منه.

هل تحتاج إلى مزيد من المساعدة؟

الخروج من الخيارات إضافية؟

استكشف مزايا الاشتراك، واستعرض الدورات التدريبية، وتعرف على كيفية تأمين جهازك، والمزيد.

تساعدك المجتمعات على طرح الأسئلة والإجابة عليها، وتقديم الملاحظات، وسماعها من الخبراء ذوي الاطلاع الواسع.