استخدم هذه التقييمات لتحديد السجلات التي يحددها استعلام SQL.
بناء الجملة
SELECT [ALL | DISTINCT | DISTINCTROW | [TOP n [PERCENT]]]
FROM table
SELECT تحتوي العبارة التي تحتوي على هذه المسندات على الأجزاء التالية:
| الجزء | الوصف |
|---|---|
ALL |
يفترض Access إذا لم تقم بتضمين ALL دالة تقييم أخرى. يحدد محرك قاعدة بيانات Access جميع السجلات التي تفي بالشروط في عبارة SQL. هذه الأمثلة مكافئة وترجع جميع السجلات من Employees الجدول: SELECT ALL * FROM Employees ORDER BY EmployeeID; و SELECT * FROM Employees ORDER BY EmployeeID; |
DISTINCT |
حذف السجلات التي تحتوي على بيانات مكررة في الحقول المحددة. لتضمين سجل في النتائج، يجب أن تكون قيم كل حقل في العبارة SELECT فريدة. على سبيل المثال، قد يكون لدى العديد من الموظفين في Employees جدول نفس اسم العائلة. إذا احتوى Smith سجلان في الحقل، SELECT DISTINCT LastName FROM Employees; فترجع LastName سجلا واحدا فقط يحتوي على Smith. إذا حذفت DISTINCT، يرجع الاستعلام كلا السجلين Smith . إذا كانت العبارة SELECT تحتوي على أكثر من حقل واحد، فيجب أن تكون مجموعة القيم من جميع الحقول فريدة حتى يظهر السجل في النتائج. إخراج استعلام يستخدم DISTINCT غير قابل للتحديث ولا يعكس التغييرات اللاحقة التي أجراها مستخدمون آخرون. |
DISTINCTROW |
حذف البيانات استنادا إلى السجلات المكررة بالكامل، وليس فقط الحقول المكررة. على سبيل المثال، يمكنك إنشاء استعلام ينضم إلى الجدولين Customers و Orders في CustomerID الحقل.
Customers لا يحتوي الجدول على حقول مكررةCustomerID، ولكن Orders الجدول موجود لأن كل عميل يمكن أن يكون لديه العديد من الطلبات.
SELECT DISTINCTROW CompanyName FROM Customers INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID ORDER BY CompanyName; تنتج قائمة بالشركات التي لديها طلب واحد على الأقل، ولكنها لا تتضمن تفاصيل حول هذه الطلبات. إذا حذفت DISTINCTROW، ينتج الاستعلام صفوفا متعددة لكل شركة لديها أكثر من طلب واحد.
DISTINCTROW يكون له تأثير فقط عند تحديد حقول من بعض الجداول المستخدمة في الاستعلام وليس كلها. يتجاهل DISTINCTROW Access ما إذا كان الاستعلام يتضمن جدولا واحدا فقط، أو إذا قمت بإخراج الحقول من جميع الجداول. |
TOP n [PERCENT] |
إرجاع عدد معين من السجلات التي تقع في أعلى النطاق ORDER BY الذي تحدده عبارة أو أسفله. لنفترض أنك تريد أسماء أفضل 25 طالبا من الفصل الدراسي 2003: SELECT TOP 25 FirstName, LastName FROM Students WHERE GraduationYear = 2003 ORDER BY GradePointAverage DESC; إذا لم تقم بتضمين ORDER BY العبارة، فإن الاستعلام يرجع مجموعة عشوائية من 25 سجلا من Students الجدول تفي بالجملة WHERE .
TOP لا تختار دالة التقييم بين القيم المتساوية. في المثال السابق، إذا كانت متوسطات نقاط الصف العليا الخامسة والعشرين والسادسة والعشرين هي نفسها، يقوم الاستعلام بإرجاع 26 سجلا. يمكنك أيضا استخدام PERCENT الكلمة المحجوزة لإرجاع نسبة مئوية من السجلات التي تقع في أعلى النطاق ORDER BY الذي تحدده عبارة أو أسفله. على سبيل المثال، إذا كنت تريد أدنى 10 بالمائة من الفئة، فاستخدم SELECT TOP 10 PERCENT FirstName, LastName FROM Students WHERE GraduationYear = 2003 ORDER BY GradePointAverage ASC; دالة ASC التقييم ترجع القيم السفلية. يجب أن تكون القيمة التالية TOP عددا صحيحا غير موقع.
TOP لا يؤثر على ما إذا كان الاستعلام قابلا للتحديث. |
table |
اسم الجدول الذي يسترد منه Access السجلات. |