Задава записите, избрани с SQL заявки.
Синтаксис
SELECT [ALL | РАЗЛИЧНИ | DISTINCTROW | [TOP n [PERCENT]]]
FROM таблицаКомандата SELECT, съдържаща тези предикати, има следните части:
Част |
Описание |
ALL |
Предполага се, ако не включите някой от предикати. Ядрото на базата данни на Microsoft Access избира всички записи, които отговарят на условията в SQL командата. Следващите два примера са еквивалентни и връщат всички записи от таблицата "Служители":
|
DISTINCT |
Пропуска записи, които съдържат дублирани данни в избраните полета. За да бъдат включени в резултатите от заявката, стойностите за всяко поле, посочено в командата SELECT, трябва да са уникални. Например няколко служители, включени в таблицата "Служители", може да имат едно и също фамилно име. Ако два записа съдържат Smith в полето LastName, следната SQL команда връща само един запис, който съдържа Smith:
Ако изпуснете DISTINCT, тази заявка връща двата записа на Smith. Ако клаузата SELECT съдържа повече от едно поле, комбинацията от стойности от всички полета трябва да бъде уникална за даден запис, за да бъде включен в резултатите. Резултатът от заявка, която използва DISTINCT, не може да се актуализира и не отразява последващите промени, направени от други потребители. |
DISTINCTROW |
Пропуска данни, базирани на цели дублирани записи, а не само дублирани полета. Можете например да създадете заявка, която съединява таблиците "Клиенти" и "Поръчки" в полето "ИД на клиент". Таблицата "Клиенти" не съдържа дублирани полета CustomerID, но таблицата "Поръчки" има, защото всеки клиент може да има много поръчки. Следната SQL команда показва как можете да използвате DISTINCTROW, за да създадете списък с фирми, които имат поне една поръчка, но без подробности за тези поръчки:
Ако изпуснете DISTINCTROW, тази заявка създава множество редове за всяка фирма, която има повече от един ред. DISTINCTROW има ефект само когато изберете полета от някои, но не от всички, от таблиците, използвани в заявката. DISTINCTROW се игнорира, ако вашата заявка включва само една таблица или ако извеждате полета от всички таблици. |
TOP n [PERCENT] |
Връща определен брой записи, които попадат в горната или долната част на диапазон, зададен от клауза ORDER BY. Да предположим, че искате имената на първите 25 ученици от класа на 1994 г.:
Ако не включите клаузата ORDER BY, заявката ще върне произволен набор от 25 записа от таблицата "Ученици", които удовлетворяват клаузата WHERE. Предикатът TOP не избира между равни стойности. В предишния пример, ако средното за двадесет и пето и двадесет и шесто от най-високите оценки е едно и също, заявката ще върне 26 записа. Можете също да използвате запазената дума PERCENT, за да се върне определен процент от записите, които попадат в горната или долната част на диапазон, зададен от клауза ORDER BY. Да предположим, че вместо първите 25 ученици искате последните 10 процента от класа:
Предикатът на ASC задава връщане на най-ниските стойности. Стойността, която следва TOP, трябва да бъде неподписано цяло число. TOP не засяга дали заявката може да се актуализира. |
таблица |
Името на таблицата, от която са извлечени записите. |