Инструкция SELECT предписывает ядру СУБД Microsoft Access вернуть сведения из базы данных в виде набора записей.
Синтаксис
SELECT [предикат] { * | таблица.* | [таблица.]поле1 [AS псевдоним1] [, [таблица.]поле2 [AS псевдоним2] [, ...]]}
FROM табличное_выражение [, ...] [IN внешняя_база_данных]
[WHERE... ]
[GROUP BY... ]
[HAVING... ]
[ORDER BY... ]
[WITH OWNERACCESS OPTION]
Инструкция 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 можно использовать дополнительные предложения для дальнейшего ограничения и упорядочения полученных данных. Дополнительные сведения см. в разделе справки, посвященном используемому предложению.