Access как использовать идентификатор в выражении select
Обновлено: 21.11.2024
Указывает ядру СУБД Microsoft Access возвращать информацию из базы данных в виде наборе записей.
Синтаксис
SELECT [predicate] < * | table.* | [table.]field1 [AS alias1] [, [table.]field2 [AS alias2] [, …]]> FROM tableexpression [, …] [IN externaldatabase] [WHERE… ] [GROUP BY… ] [HAVING… ] [ORDER BY… ] [WITH OWNERACCESS OPTION]
Оператор SELECT состоит из следующих частей:
Одно из следующих предикатов: ALL, DISTINCT, DISTINCTROW, or TOP Вы можете использовать предикаты для ограничения числа возвращаемых записей. Если ничего не указано, значение по умолчанию ALL.
Указывает, что все поля из указанной таблицы или таблиц выбраны.
Имя таблицы с полями, из которых происходит выборка записей.
Имена полей, содержащих данные, которые необходимо извлечь. Если вы включите более одного поля, они будут извлечены в порядке по списку.
Имена, предназначенные для использования в качестве заголовков столбцов вместо исходного названия столбцов в table.
Имя таблицы или таблиц, содержащих данные, которые необходимо извлечь.
Имя базы данных, содержащей таблицы в tableexpression, если они еще не содержатся в текущей базе данных.
Комментарии
Чтобы выполнить это действие, ядро СУБД Microsoft Jet выполняет поиск указанной таблицы или таблиц, извлекает выбранные столбцы, выбирает строки, которые удовлетворяют критерию и сортирует или группирует итоговые строки в указанном порядке.
Операторы SELECT не изменяют данные в базе данных.
SELECT обычно является первым словом в операторе SQL. Большинство операторов SQL — операторы SELECT или SELECT…INTO.
Минимальный синтаксис для оператора SELECT:
SELECT fields FROM table
Вы можете использовать звездочку (*), чтобы выбрать все поля в таблице. В приведенном ниже примере выделяются все поля в таблице "Сотрудники":
Если имя поля добавляется в несколько таблиц в предложении FROM, укажите перед ним имя таблицы и . (dot) operator. В приведенном ниже примере поле "Отдел" находится в таблице Руководители и таблице Сотрудники. Оператор SQL выделяет отделы в таблице Сотрудники в таблицы и имена руководителей в таблице Руководители:
Когда создается объект Recordset, ядро СУБД Microsoft Jet использует имя поля таблицы в качестве имени объекта Field в объекте Recordset. Если вы хотите использовать другое имя поля или имя, которое не подразумевается выражением, используемые для генерации поля, используйте зарезервированное слово AS. В следующем примере используется название Birth в качестве имени возвращаемого объекта Field в итоговом объекте Recordset:
При каждом использовании агрегатных функций или запросов, которые возвращают неоднозначные или повторяющиеся имена объекта Field, воспользуйтесь оператором AS для предоставления запасного имени объекта Field. В следующем примере используется название HeadCount в качестве имени возвращаемого объекта Field в итоговом объекте Recordset:
Для дополнительного ограничения и организации возвращаемых данных, можно использовать другие предложения в операторе SELECT. Дополнительные сведения см. в статье справки для предложения, которое вы используете.
Ссылки, предоставляемые сообществом UtterAccess. UtterAccess — это премиальный вики-портал и форум, посвященный Microsoft Access.
Пример
В некоторых из примеров ниже предполагается, что существует гипотетическое поле Salary (Оклад) в таблице Employees (Сотрудники). Обратите внимание, что это поле на самом деле не существует в таблице Employees (Сотрудники) базы данных Northwind.
В данном примере создается объект Recordset типа dynaset на основании оператора SQL, который выбирает поля "Фамилия" и "Имя" среди всех записи в таблице "Сотрудники". Он вызывает процедуру EnumFields, которая печатает содержимое объекта Recordset в окне Debug.
В данном примере выполняется подсчет количества записей, которые содержат информацию в поле "Индекс", и присваивается имя "Путь" возвращаемому полю.
В этом примере показано количество сотрудников и среднее и максимальное вознаграждения.
Суб процедура EnumFields передает объект Recordset из процедуры вызова. Затем процедура форматирует и печатает поля Recordset в окне Отладка. Переменная - это желаемая ширина печатного поля. Некоторые поля могут быть обрезаны.
Читайте также: