Визначає записи, вибрані за допомогою запитів SQL.
Синтаксис
SELECT [УСІ | DISTINCT | DISTINCTROW | [TOP n [PERCENT]]]
ТАБЛИЦЯ FROMІнструкція SELECT, що містить ці предикати, складається з таких частин:
Частина |
Опис |
ALL |
Припускається, що якщо ви не включите один із предикатів. Обробник баз даних Microsoft Access вибирає всі записи, які відповідають умовам в інструкції SQL. Наведені нижче два приклади еквівалентні та повертають всі записи з таблиці "Працівники"."
|
DISTINCT |
Не передає записи, які містять повторювані дані у вибраних полях. Для включення до результатів запиту значення для кожного поля, указаного в інструкції SELECT, мають бути унікальними. Наприклад, кілька працівників, перелічених у таблиці "Працівники", можуть мати однакові прізвища. Якщо в полі LastName містяться два записи Smith, наведена нижче інструкція SQL повертає лише один запис, який містить Ім'я Сміта:
Якщо пропустити DISTINCT, цей запит поверне обидва записи Smith. Якщо речення SELECT містить кілька полів, поєднання значень з усіх полів має бути унікальним для певного запису для включення в результати. Результати запиту, у якому використовується функція DISTINCT, не оновлюються та не відображають подальші зміни, внесені іншими користувачами. |
DISTINCTROW |
Не оминає дані на основі всіх повторюваних записів, а не лише повторюваних полів. Наприклад, можна створити запит, який об'єднує таблиці "Клієнти" та "Замовлення" в полі CustomerID. Таблиця "Клієнти" не містить повторюваних полів 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 не впливає на те, чи можна оновити запит. |
таблиця |
Ім’я таблиці, з якої буде отримано записи. |