Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Запросы.docx
Скачиваний:
2
Добавлен:
20.11.2018
Размер:
1.67 Mб
Скачать

6.4. Общие сведения о команде select

При использовании Конструктора запросов Access автоматически конвертирует созданный макет запроса в команды языка структурированных запросов SQL. При выполнении запроса Access непосредственно использует команду SELECT языка SQL.

Команда SELECT – первое слово в запросах на выборку и на создание таблицы, определяющее поля, которые должны быть в результирующей таблице. После ключевого слова SELECT задаются поля, которые должны отображаться в результирующей таблице. Если полей несколько, их имнеа разделяются запятыми. Синтаксис команды таков: SELECT Поле_1, Поле_2, Поле_3, … Упрощенный синтакис команды SELECT имеет вид:

SELECT [DISTINCT] списокВыбираемыхПолей

FROM списокТаблиц

[WHERE условиеВыборки]

[GROUP BY УсловиеГруппировки]

[ORDER BY условие Упорядочения]

[INTO имя Таблицы]

[TO FILE имяФайла [ADDITIVE] | [TO PRINT]]

Опция DISTINCT используется для исключения повторяющихся строк запроса.

Команда FROM определяет имена таблиц, содержащих поля, которые определены в команде SELECT. Это обязательная команда для инструкции SELECT. Она указывает, где искать записи.

При работе с одной таблицей, команда FROM просто определяет имя таблицы; в случае же работы с несколькими таблицами можно определять тип соединения между ними в команде FROM с помощью одного из трех выражений:

  • INNER JOIN ... ON;

  • RIGHT JOIN ... ON;

  • LEFT JOIN ... ON.

INNER JOIN ... ON определяет традиционное внутреннее объединение между таблицами.

Например:

FROM пример2!doc1 INNER JOIN пример2!vis1;

INNER JOIN пример2!pac1 ;

ON Pac1.nump = Vis1.nump ;

ON Doc1.numd = Vis1.numd;

RIGHT JOIN ... ON и LEFT JOIN ... ON работают точно также, но определяют внешнее объединение вместо внутреннего.

Команда WHERE определяет условия отбора записей и , в отличие от команд SELECT и FROM, является необязательной. Условием может быть любое корректное выражение независимо от сложности.

Например: WHERE Pac1.grrisk = "нет";

Команда GROUP BY определяет порядок группировки данных.

Например: GROUP BY Doc1.spec Команда ORDER BY определяет порядок сортировки выводимых записей. При этом сортировка производится по полю, определенному после предложения, в порядке возрастания или убывания.

Например: ORDER BY Doc1.spec Визуализация конструкции запроса на языке SQL может вы-полняться командой Вид Режим SQL, либо выбором строки Режим SQL из контекстного меню панели таблиц запроса.

В качестве иллюстрации ниже приведны примеры команды SELECT для представленных выше (см. Запрос 2, Запрос 3, Запрос 4) выборок данных.

SELECT Врачи.SpecDc, Sum(Врачи.Salary) AS [Общая ЗП]

FROM Врачи

GROUP BY Врачи.SpecDc;

SELECT Врачи.SpecDc, Count(Врачи.FullNameDc) AS Колличество

FROM Врачи

GROUP BY Врачи.SpecDc

HAVING (((Врачи.SpecDc)<>"Лор"));

SELECT Врачи.SpecDc, Sum(Врачи.Salary) AS [Суммарная ЗП]

FROM Врачи

GROUP BY Врачи.SpecDc

HAVING (((Sum(Врачи.Salary))<=60000));

При программировании законченных приложений команда SELECT широко используется для формирования разнообразных ведомостей. В связи с этим при создании запросов целесообразно сохранять SQL-операторы в качестве заготовок для будущих программ.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]