Лабораторная работа № 4. Запросы (продолжение).
На это лабораторной мы продолжим знакомиться с построением запросов и рассмотрим еще один режим работы с запросами – режим SQL. Возможно из-за краткости описания лабораторной, не все будет сразу понятно. В таких случаях, посмотрите справку Access (она как обычно вызывается по клавише F1), где подробно описаны рассматриваемые конструкции языка SQL.
Начните с того, что в конструкторе создайте запрос, выводящий список авторов книг из таблицы Book (нам нужны только авторы, без названий книг и т.д.). Выполните запрос и обратите внимание на то, что если автор написал несколько книжек, то в результатах запроса он будет фигурировать тоже несколько раз. Перейдите в режим SQL, в котором Вы увидите то предложение, которое и является запросом:
SELECT Book.Author FROM Book;
Итак, это предложение SELECT, где указывается, какие столбцы помещаются в результат запроса, и откуда мы их берем. Заканчивается предложение точкой с запятой. Теперь скажем Access, что повторяющиеся строки в запросе надо отбрасывать. Делается это с помощью кодового слова DISTINCT:
SELECT DISTINCT Book.Author FROM Book;
Обратите внимание, что второй запрос кроме отбрасывания повторяющихся записей и сортирует их по возрастанию. Порядок сортировки можно задать в конструкторе запросов или в режиме SQL, вписав инструкцию ORDER BY. После инструкции ORDER BY указывается столбец, по которому сортируем. В примере первый запрос выводит список авторов в алфавитном порядке, второй – в обратном алфавитном порядке.
SELECT DISTINCT Book.Author FROM Book ORDER BY Book.Author;
SELECT DISTINCT Book.Author FROM Book ORDER BY Book.Author DESC;
Продолжим изучение SQL на примерах. В конце прошлого занятия мы познакомились с запросами, использующими данные из нескольких связанных таблиц. Например, построенный в конструкторе запрос на выборку библиотечных номеров книг, их авторов и названий (в конструкторе мы его создавали на прошлом занятии) на SQL будет выглядеть следующим образом:
SELECT Book_in_Lib.LibID, Book.Author, Book.Name
FROM Book
INNER JOIN Book_in_Lib ON
Book.BookID = Book_in_Lib.BookID;
Здесь инструкция INNER JOIN указывает на то, что надо соединить таблицы по условию совпадения значений в столбцах Book.BookID = Book_in_Lib.BookID. Причем соединение должно быть «внутренним» - соответствующие значения должны встречаться как в одной, так и в другой таблице.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.