Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1 Лаба по БД LabBD1_2009_09_17.doc
Скачиваний:
26
Добавлен:
13.04.2015
Размер:
3.99 Mб
Скачать

Приложение а Основы sql

Когда вы используете графические инструменты конструктора запроса, Access конверти­рует создаваемый вами макет запроса в команды языка структурированных запросов (Structured Query Language— SQL). Инструкции SQL— это то, что Access использует при выполнении запросов на самом деле.

Просмотр инструкций SQL в запросах. Если вы знакомы с SQL, то легко сможете просматривать и редактировать инструкции SQL, созданные программой Access. Любые изменения инструкций SQL Access автоматиче­ски отражает в окне конструктора запросов.Чтобы просмотреть создаваемые Access инструкции SQL, выберите команду Вид/Режим SQL (View/SQL View) из меню.

Общие команды SQL. В инструкциях используются четыре основные команды SQL, детальное описание и назначение которых приведено в табл.1. С помощью всего лишь этих четырех основных ко­манд вы можете создавать мощные SQL-выражения для использования в формах и отчетах Access.

Таблица

SELECT

С этой команды начинается инструкция SQL. За командой следуют имена полей, которые будут выбраны из таблицы или таблиц (если в командеfromих будет определено не­сколько). Наличие этой команды в-SQL-запросеобязательно

FROM

Определяет имена таблиц, содержащих поля, которые определены в команде select. Наличие этой команды вSQL-запросеобязательно. Если используется несколько таблиц, необходимо также определить тип объединения (join) между таблицами

WHERE

Определяет условия фильтрования (ограничения) просматриваемых записей. Использу­ется при необходимости выводить записи, удовлетворяющие тем или иным условиям

ORDER BY

Определяет порядок вывода записей в результирующей таблице

Инструкция SELECT. Инструкция (или команда) SELECT — первое слово в запросах на выборку и на создание таблицы, определяющее поля, которые должны быть в результирующей таблице. После ключевого слова SELECT задаются поля, которые должны отображаться в резуль­тирующей таблице. Если полей несколько, их имена разделяются запятыми. Синтаксис ко­манды таков:

SELECT Поле_1, Поле_2, Поле_3 ...

Здесь Поле_1 и т.д. — названия полей. Обратите внимание, что поля разделяются запя­тыми. Если вы хотите выбирать поля из разных таблиц, определите имя таблицы перед именем поля, разделив их точкой. Если в имени поля содержатся пробелы, следует заключить его в квадратные скобки. Если в имени поля нет пробелов, то в использовании квадратные скобки нет необходимости.

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

Когда вы работаете с одной таблицей, команда FROM просто определяет имя таблицы, как в следующем примере:

SELECT ДаніВчителів.Прізвище, ДаніВчителів.Спеціальність FROM ДаніВчителів;

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

  • INNER JOIN ... ON

  • RIGHT JOIN ... ON

  • LEFT JOIN ... ON

INNER JOIN ... ON определяет традиционное внутреннее объединение между табли­цами. Например, для объединения таблиц ДаніВчителів и Категорії ин­струкция SQL может выглядеть так:

SELECT ДаніВчителів.Прізвище, ДаніВчителів.[Ім'я], ДаніВчителів.По_батькові, Категорії.Оклад

FROM ДаніВчителів INNER JOIN Категорії ON ДаніВчителів.КодКатегогрії= Категорії.КодКатегогрії;

Обратите внимание, что предложение FROM определяет главную таблицу для использования (ДаніВчителів). Затем часть выражения INNER JOIN определяет вторую таблицу (Категорії). И, наконец, часть ON предложения FROM определяет поля, по которым таблицы будут объединены.

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

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

SELECT ДаніВчителів.Прізвище, Категорії.Оклад

FROM Категорії INNER JOIN ДаніВчителів ON Категорії.КодКатегогрії = ДаніВчителів.КодКатегогрії

WHERE Категорії.Оклад=500;

Если вы используете команду where в инструкции select, она должна следовать после команды from.

Команда ORDER BY. Команда (или предложение) ORDER BY определяет порядок сортировки выводимых запи­сей. При этом сортировка производится по полю, определенному после предложения, в по­рядке возрастания (по умолчанию) или убывания. Например, ниже сортировка выполняется по имени учителя в алфавитном порядке.

ORDER BY ДаніВчителів.Прізвище;