Це одна із серії статей про Access SQL. У цій статті описано, як написати речення SELECT, а також наведено приклади різних методів, які можна використовувати під час написання цих речень.
Огляд Access SQL див. в статті Access SQL: основні поняття, словник і синтаксис.
У цій статті
Вибір полів: речення SELECT
Оператор SELECT зазвичай починається з речення SELECT. Речення SELECT використовується для визначення імен полів із даними, які потрібно використати в запиті. Ви також можете використовувати вирази замість полів або на додачу до них. Як поле можна використати навіть ще один оператор SELECT – він називається підзапитом або вкладеним запитом.
Припустімо, вам потрібно дізнатися номери телефонів своїх клієнтів. Якщо поле, у якому зберігаються номери телефонів клієнтів, називається txtCustPhone, речення SELECT матиме такий вигляд:
SELECT [txtCustomerPhone]
Ви можете взяти ім’я у квадратні дужки. Якщо ім’я не містить пробілів і спеціальних символів (наприклад, розділових знаків), квадратні дужки необов’язкові. Якщо ім’я містить пробіли або спеціальні символи, необхідно використовувати дужки.
Порада.: Ім’я, яке містить пробіли, легше читати, і воно може заощадити час під час створення форм і звітів, але може бути так, що вам доведеться вводити більше під час написання SQL-операторів. Слід враховувати це, називаючи об’єкти в базі даних Access.
Якщо SQL-оператор має два або більше полів з однаковим іменем, необхідно додати імена джерел даних усіх полів до поля імені в реченні SELECT. Для джерела даних використовуйте те саме ім’я, яке використовується в реченні FROM.
Вибір усіх полів
Щоб включити всі поля із джерела даних, перерахуйте всі поля окремо в реченні SELECT або скористайтеся символом зірочки (*). Якщо використовується зірочка, програма Access, виконуючи запит, визначає, які поля містить джерело даних, і включає всі ці поля в запит. Таким чином забезпечується постійне оновлення запиту, якщо до джерела даних додаються нові поля.
Ви можете використовувати зірочку з одним або кількома джерелами даних в SQL-операторі. Якщо використовується зірочка та є кілька джерел даних, разом із зірочкою необхідно включити ім’я джерела даних, щоб програма Access могла визначити, з яких джерел даних включати всі поля.
Наприклад, ви хочете вибрати всі поля з таблиці "Замовлення" та лише адресу електронної пошти з таблиці "Контакти". Речення SELECT може мати такий вигляд:
SELECT Orders.*, Contacts.[E-mail Address]
Примітка.: Слідкуйте за тим, коли використовується зірочка. Якщо до джерела даних пізніше додаються нові поля, а ви їх не планували, результати запиту можуть виявитися несподіваними.
Вибір унікальних значень
Якщо ви знаєте, що оператор вибере надлишкові дані, а вам потрібні лише певні значення, ви можете використати в реченні SELECT ключове слово DISTINCT. Припустімо, що кожен із ваших клієнтів представляє кілька різних інтересів, але деякі з них використовують один номер телефону. Якщо ви хочете, щоб кожен номер телефону відображався лише раз, речення SELECT повинне мати такий вигляд:
SELECT DISTINCT [txtCustomerPhone]
Використання імен-замінників для полів і виразів: ключове слово AS
Ви можете змінити підпис будь-якого поля в поданні таблиці, використовуючи ключове слово AS і псевдонім поля в реченні SELECT. Псевдонім поля – це ім’я, яке ви призначаєте полю в запиті, щоб результати було легше читати. Наприклад, якщо ви хочете вибрати дані з поля з іменем txtCustPhone, а поле містить номери телефонів клієнтів, ви можете полегшити читання результатів за допомогою псевдоніма поля в операторі SELECT, як показано нижче:
SELECT [txtCustPhone] AS [Customer Phone]
Примітка.: Коли в реченні SELECT використовується вираз, псевдонім поля обов’язковий.
Вибір за допомогою виразу
Іноді може знадобитися переглянути обчислення на основі даних або отримати лише частину даних поля. Наприклад, ви хочете повернути рік народження клієнтів на основі даних у полі BirthDate у базі даних. Речення SELECT може мати такий вигляд:
SELECT DatePart("yyyy",[BirthDate]) AS [Birth Year]
Цей вираз складається з функції DatePart і двох аргументів: "yyyy" (константа) і [BirthDate] (ідентифікатор).
Як поле можна використовувати будь-який припустимий вираз, якщо він виводить одне значення, коли задано одне вхідне значення.