Инструкция SELECT
По этой инструкции ядро базы данных Microsoft Jet возвращает данные из базы данных в виде набора записей.
Синтаксис
SELECT [предикат] { * | таблица.* | [таблица.]поле_1
[AS псевдоним_2] [, [таблица.]поле_2 [AS псевдоним_2] [, ...]]}
FROM выражение [, ...] [IN внешняяБазаДанных]
[WHERE... ]
[GROUP BY... ]
[HAVING... ]
[ORDER BY... ]
[WITH OWNERACCESS OPTION]
Ниже перечислены аргументы инструкции SELECT:
Элемент Описание
предикат Один из следующих предикатов отбора: ALL, DISTINCT, DISTINCTROW или TOP. Предикаты используются для ограничения числа возвращаемых записей. Если они отсутствуют, по умолчанию используется предикат ALL.
* Указывает, что выбраны все поля заданной таблицы или таблиц.
таблица Имя таблицы, из которой должны быть отобраны записи.
поле_1, поле_2 Имена полей, из которых должны быть отобраны данные. Если включить несколько полей, они будут извлекаться в указанном порядке.
псевдоним_2, псевдоним_2 Имена, которые станут заголовками столбцов вместо исходных названий столбцов в таблице.
выражение Имена одной или нескольких таблиц, которые содержат отбираемые данные.
внешняяБазаДанных Имя базы данных, которая содержит таблицы, указанные с помощью аргумента выражение, если они не находятся в текущей базе данных.
Дополнительные сведения
При выполнении этой операции ядро базы данных Microsoft Jet находит указанную таблицу или таблицы, извлекает заданные столбцы, выделяет строки, соответствующие условию отбора, и сортирует или группирует результирующие строки в указанном порядке.
Инструкции SELECT не изменяют данные в базе данных.
Обычно слово SELECT является первым словом инструкции SQL. Большая часть инструкций SQL является инструкциями SELECT или SELECT...INTO.
Ниже приведен минимальный синтаксис инструкции SELECT:
SELECT поля FROM таблица
Для отбора всех полей таблицы можно использовать символ звездочки (*). Следующая инструкция отбирает все поля из таблицы "Сотрудники":
SELECT * FROM Сотрудники;
Если несколько таблиц, включенных в предложение FROM, содержат одноименные поля, перед именем такого поля следует ввести имя таблицы и оператор . (точка). Предположим, что поле "Отдел" содержится в таблицах "Сотрудники" и "Начальники". Следующая инструкция SQL отберет поле "Отдел" из таблицы "Сотрудники" и поле "Начальник" из таблицы "Начальники":
SELECT Сотрудники.Отдел, Начальники.Начальник
FROM Сотрудники INNER JOIN Начальники
WHERE Сотрудники.Отдел = Начальники.Отдел;
При создании объекта Recordset ядро базы данных Microsoft Jet использует имя поля таблицы в качестве имени объекта Field в объекте Recordset. Если требуется другое имя поля, или выражение, создающее поле, не определяет имя, используйте зарезервированное слово AS. В следующем примере заголовок "Рождение" становится именем объекта Field в результирующем объекте Recordset:
SELECT [Дата рождения]
AS Рождение FROM Сотрудники;
При работе со статистическими функциями или запросами, которые возвращают повторяющиеся имена объекта Field, используйте предложение AS для задания другого имени объекта Field. В следующем примере заголовок "Численность" задается для возвращаемого объекта Field результирующего объекта Recordset:
SELECT COUNT(КодСотрудника)
AS Численность FROM Сотрудники;
Для дальнейшего отбора и организации искомых данных в инструкцию SELECT можно добавлять многие другие предложения. Для получения более подробных сведений смотрите описания этих предложений.
|