Лабораторная работа № 5. Запросы (продолжение). Отчеты.
Эту лабораторную мы начнем с небольшого упражнения. Не выполняя приведенный ниже запрос в СУБД, напишите пожалуйста, что он будет делать (ранее не встречавшаяся Вам инструкция TOP 3, означает «первые 3», она используется, если нам нужны не все результаты, соответствующие условиям отбора, а только первые N из них):
SELECT
DISTINCT TOP 3 Book.Publisher,
Count(Book.BookID) AS BookCount
FROM Book
GROUP BY Book.Publisher
ORDER BY Count(Book.BookID) DESC;
Но от уже достаточно знакомых нам запросов на выборку перейдем к следующему классу запросов – перекрестным. Часто бывает, что необходимо представить не сами данные, а некоторую обобщенную аналитическую информацию. Пусть, например, нам надо подсчитать, сколько в каждом издательстве в каждом году было выпущено книг. Такую информацию позволяет получить перекрестный запрос. Договоримся, что названия издательств будем размещать в заголовках столбцов, годы издания – это названия строк.
Чтобы создать нужный нам запрос выберите в меню Вставка-> Запрос -> Перекрестный запрос, укажите, что данные для запроса будут браться из таблицы Book. В качестве заголовков строк используйте поле Year; для заголовков столбцов – Publisher; функция, формирующая значения элементов таблицы – Число; и сбросьте галочку в check-box «Вычислить итоговое значение для каждой строки».
Проверьте правильность результатов запроса.
Задание. Постройте запрос, выводящий для каждого автора и издательства первый год, когда в этом издательстве вышла книжка этого автора.
Управляющие запросы служат для создания, изменения и удаления таблиц или индексов. Начнем с рассмотрения того, как в конструкторе построить запрос, создающий новую таблицу. На вкладке Запросы и в режиме SQL, введите следующий запрос:
CREATE TABLE [Элемент]
(ElemID COUNTER PRIMARY KEY,
ElemName CHAR (50) NOT NULL);
Его выполнение приведет к созданию таблицы Элементы с первичным ключом ElemID типа Счетчик и текстовым полем ElemName типа текстовое длиной до 50 символов. Кодовое слово NOT NULL, указывает, что значения в поле ElemName должно вводится обязательно.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.