SQL – запросы
С помощью языка SQL (structured query language) можно создавать запросы к реляционным базам данных (таким как Access), актуализировать их и управлять ими. Когда пользователь проектирует QBE – запрос (query by example) в окне запросов, Access конструирует на заднем плане соответствующий SQL – запрос. Для отображения на экране и редактирования SQL – запроса следует выбрать из меню ВИД команду SQL при активном окне проектирования запроса. Если в SQL – запросе производятся изменения, QВЕ – запрос автоматически актуализируется в окне запроса.
SQL – запросы могут служить не только для извлечения из базы информации, которая будет анализироваться пользователем. С их помощью можно получать сведения для формы и отчета, заполнять поля списков в формах.
SQL – запрос составляется из SQL – инструкций. Они задают, что необходимо сделать с входным набором данных для генерации выходного набора. Извлеченную информацию можно обработать с помощью специальных анализирующих функций. Такая обработка позволяет, например, получать минимальные и максимальные значения, суммы, средние значения данных, полученных из базы с помощью SQL – запроса.
SQL – инструкции
Набор инструкций SQL невелик. По крайней мере, если сравнивать его с набором инструкций для процедурных языков программирования общего назначения. Основу большинства SQL – запросов составляет инструкция SELECT, важнейшие параметры которой приведены в списке:
SELECT Список_полей
FROM Имена_таблиц
WHEREКритерии_поиска
IN Имя_базы_данных
ALL – , DISTINCT – , DISTINCTROW – предикаты
Таблица 1 INNER JOIN Таблица 2
GROUP BY Список_полей
HAVING Критерии_поиска
ORDER BY Список_полей
Инструкция SELECT
Рассмотрим простейшийпример оформления SQL – запроса.
Примечание
Для большей наглядности инструкции в примерах стоят в отдельных строках. Однако Access при оформлении SQL – запроса требует, чтобы все составляющие его SQL – инструкции были записаны одной строкой. Если последовательность не помещается в одной строке, то для перехода на следующую строку следует нажимать не [Enter], а комбинацию [Ctrl+Enter].
Пример
SELECT *
FROM [Список сотрудников]
WHERE ((([Список сотрудников].Образование)="высшее" Or
([Список сотрудников].Образование)="сред.спец."));
Внимание
SQL – запрос всегда заканчивается точкой с запятой.
Запрос состоит из инструкции SELECT, дополненной параметрами FROM и WHERE. Список полей в нашем примере не определен. - означает, что будут выбраны все поля таблицы, определенной с помощью параметра FROM. С помощью параметра WHERE задаются условия, которым должны удовлетворять, извлекаемые записи. В нашем случае это -
Образование="высшее" или Образование="сред.спец."
При работе с инструкцией SELECT следует принимать во внимание следующие замечания:
1. Обычно SELECT первая команда запроса.
2. Если задается больше одного поля, имена полей отделяются запятыми. Список полей вводятся в той последовательности, в которой они должны быть отображены в результате запроса.
3. Если имя поля содержит пробел, то его необходимо заключить в квадратные скобки.
4. Если обрабатываются несколько таблиц с одинаковыми названиями полей необходимо во избежание ошибок давать полную спецификацию поля т.е. Имя_таблицы.Имя_поля. Именно так сделано в нашем примере.
Параметр FROM
Параметр FROM задает таблицы или запросы, которые содержат поля, приведенные в инструкции SELECT , т.е. задает список обрабатываемых таблиц и запросов.
Следует учесть, что:
1. FROM задается как параметр для инструкции SELECT и всегда следует за ней.
2. В списке таблиц сначала всегда следует указывать меньшую или меньшие таблицы.
Параметр WHERE
Параметр WHERE не обязателен, но если он присутствует в инструкции, то должен следовать за параметром FROM. Если WHERE не задан, при выполнении SQL – запроса будут выбраны все записи.
С помощью WHERE – параметра Access выбирает записи, удовлетворяющие условиям, определенным с помощью параметра WHERE.
Параметр ALL
Параметр WHERE определяет критерий отбора записей из выходного набора. Но в таблице могут присутствовать дубликаты. Речь идет о том, что в таблицу могут быть занесены записи об одном и том же сотруднике дважды. По умолчанию команде SELECT сопутствует предикат ALL. Его можно даже явно не указывать. ALL включается в команду SELECT сразу же за ключевым словом SELECT (пред именами отбираемых полей).
Пример
SELECT ALL *
FROM [Список сотрудников];
Выполнив такой запрос, выбираются из таблицы Сотрудники все записи
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.