Инструкция SELECT предписывает ядру СУБД Microsoft Access вернуть сведения из базы данных в виде набора записей.
Синтаксис
SELECT [предикат] { * | table.* | [table.]field1 [AS alias1] [, [table.]field2 [AS alias2] [, ...]]}
FROM tableexpression [, ...] [IN externaldatabase]
[WHERE... ]
[GROUP BY... ]
[HAVING... ]
[ЗАКАЗ ПО... ]
[С ПАРАМЕТРОМ OWNERACCESS]
Инструкция SELECT включает приведенные ниже элементы.
| Элемент | Описание |
|---|---|
| предикат | Один из следующих предикатов: ALL, DISTINCT, DISTINCTROW или TOP. Предикаты используются для ограничения числа возвращаемых записей. Если предикат не задан, по умолчанию используется ALL. |
| * | Указывает на то, что из заданной таблицы или таблиц выбираются все поля. |
| таблица | Имя таблицы, содержащей поля с выбранными записями. |
| поле1, поле2 | Имена полей, содержащих извлекаемые данные. Если задано несколько полей, данные будут извлекаться в порядке перечисления их имен. |
| псевдоним1, псевдоним2 | Имена, которые используются в качестве заголовков столбцов вместо исходных названий столбцов в таблице. |
| табличное_выражение | Одно или несколько имен таблиц, содержащих извлекаемые данные. |
| внешняя_база_данных | Имя базы данных, содержащей таблицы, указанные в компоненте табличное_выражение, если их нет в текущей базе данных. |
Примечания.
Для выполнения данной операции ядро СУБД Microsoft Access выполняет поиск указанной таблицы или таблиц, извлекает указанные столбцы, выбирает строки, отвечающие условию и сортирует полученные строки в указанном порядке.
Инструкции SELECT не изменяют данные в базе данных.
SELECT обычно является первым словом в инструкции SQL. SELECT и SELECT...INTO — наиболее распространенные инструкции SQL.
Минимальный синтаксис инструкции SELECT выглядит следующим образом:
SELECT поля FROM таблица
Чтобы выбрать все поля в таблице, можно использовать звездочку (*). В приведенном ниже примере показано, что в таблице "Сотрудники" выбраны все поля.
SELECT * FROM Employees;
Если имя поля включается в несколько таблиц в предложении FROM, перед ним следует укажите имя таблицы и оператор . (точка). В следующем примере поле "Отдел" встречается сразу в двух таблицах: "Сотрудники" и "Руководители". С помощью инструкции SQL можно выбрать отделы из таблицы "Сотрудники" и имена руководителей из таблицы "Руководители".
SELECT Employees.Department, Supervisors.SupvName FROM Employees INNER JOIN Supervisors WHERE Employees.Department = Supervisors.Department;
При создании объекта RecordSet имя поля таблицы используется ядром СУБД Microsoft Access в качестве имени объекта "Поле" в объекте Recordset. Если требуется другое имя поля или оно не подразумевается выражением, используемым для создания поля, используйте зарезервированное слово AS. В следующем примере показано, как заголовок "Дата_рождения" используется для присвоения имени возвращенному объекту Поле в полученном объекте Recordset.
SELECT BirthDate AS Birth FROM Employees;
При использовании агрегатных функций или запросов, которые возвращают неоднозначные или повторяющиеся имена объекта Поле, необходимо использовать предложение AS, чтобы присвоить объекту Поле другое имя. В приведенном ниже примере возвращенному объекту Поле в полученном объекте Recordset присваивается имя "Количество_сотрудников".
SELECT COUNT(EmployeeID) AS HeadCount FROM Employees;
При работе с инструкцией SELECT можно использовать дополнительные предложения для дальнейшего ограничения и упорядочения полученных данных. Дополнительные сведения см. в разделе справки, посвященном используемому предложению.