- •введение
- •1. правила оформления документов
- •2. работа с текстом документа
- •2.1. Создание шаблона
- •2.2. Создание документа на основе шаблона
- •2.3. Создание макросов
- •3. задание на практику
- •4. Введение в базы данных
- •5. Общие требования к выполнению и оформлению лабораторных работ
- •6. Знакомство с системой Access
- •7. Создание таблиц базы данных
- •7.1. Проектирование базы данных
- •7.3. Создание и изменение таблиц средствами языка SQL
- •7.3.1. Управляющие запросы и запросы на изменение таблиц
- •7.3.2. Управляющий запрос на создание таблицы
- •7.3.3. Запрос на создание таблицы из других таблиц
- •7.3.4. Запрос на добавление
- •7.3.5. Запрос на удаление
- •7.3.6. Запрос на обновление
- •Контрольные вопросы
- •8. Проектирование запросов
- •8.1. Конструктор запросов
- •8.2. Вычисления в запросе
- •8.3. Параметрические запросы
- •Контрольные вопросы
- •9. Создание запросов на выборку с помощью языка SQL
- •9.1. Структура запроса. Условия поиска
- •9.2. Параметрические запросы
- •9.3. Перекрестные запросы
- •9.4. Поиск в связанных таблицах
- •9.5. Запросы на объединение
- •Контрольные вопросы
- •10. Создание форм
- •11. Разработка отчетов
- •11.1. Работа с простейшими отчетами
- •ТЕМЫ ЗАДАНИЙ НА ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ «КАФЕДРА»
- •Программирование на языках высокого уровня (pascal)
- •12. типы данных и структуры программм
- •Тип данных Integer
- •Действия с целыми числами
- •Операции над целыми числами
- •Тип данных Real
- •Действия с действительными числами
- •Стандартные функции и операции
- •Программы с линейной структурой
- •Условный оператор. Оператор многозначного ветвления
- •Оператор выбора CASE
- •Примеры решений задач
- •Операторы повтора
- •Примеры решений задач
- •Список задач раздела 12
- •13. массивы
- •Одномерные массивы
- •Пример решения задачи
- •Сортировка одномерных массивов
- •Двумерные массивы
- •Список задач раздела 13
- •14. Функции и процедуры
- •Процедуры
- •Функции
- •Примеры решений задач
- •Рекурсия
- •Список задач раздела 14
- •содержание
кафедрой (у заведующих указан NULL). Таблица содержит данные всех преподавателей, включая заведующих кафедрами. Запрос выводит фамилии преподавателей и фамилии заведующих соответствующими кафедрами:
SELECT Копия1.Фамилия AS Преподаватель,
Копия2.Фамилия AS [Заведующий кафедрой] FROM Преподаватель AS Копия1 INNER JOIN Преподаватель AS Копия2 ON Копия1.Заведующий кафедрой = Копия2.Табельный номер;
В примере в предложении FROM использованы псевдонимы таблиц Копия1 и Копия2, а в предложении SELECT заданы новые имена столбцам. Возможно соединение различных таблиц и копий одной таблицы.
9.5. Запросы на объединение
Это специфические запросы, которые могут быть созданы только средствами SQL. Запрос на объединение
использует оператор UNION и объединяет результаты нескольких независимых запросов или таблиц. Запрос имеет следующий синтаксис:
TABLE <таблица_1> | <запрос_1> UNION [ALL] TABLE <таблица_2> | <запрос_2> [UNION [ALL] TABLE
<таблица_п> | <запрос_п>] [ORDER BY {<имя_столбца> | <номер столбца>
[ASCIDESC]}];
По умолчанию повторяющиеся записи не возвращаются, предикат ALL гарантирует возврат всех записей. Все запросы,
56
включенные в операцию UNION, должны отбирать одинаковое число полей, при этом типы данных и размеры полей не обязательно должны совпадать. В качестве имен полей используются имена столбцов первой таблицы/запроса. По умолчанию строки результата сортируются по возрастанию первого столбца результата. В качестве последнего предложения операции UNION может быть использовано
предложение ORDER BY, позволяющее сортировать результат по нескольким столбцам. В этом предложении используются номера столбцов или имена из первой таблицы/запроса. Псевдонимы можно использовать только в первой таблице/запросе, в остальных они пропускаются. В каждом из объединяемых запросов допускается использование предложения GROUP BY или HAVING для группировки возвращаемых данных.
Контрольные вопросы
1.Как в результате запроса изменить заголовок
столбца?
2.Чем отличаются предикаты DISTINCT и DISTINCTROW?
3.Если таблица СТУДЕНТ содержит столбцы Фамилия и Средний балл, то как вывести сведения о десяти студентов с наибольшим баллом?
4.Как в таблице СТУДЕНТ найти сведения о всех студентов, фамилии которых начинаются на букву 'Л'?
5.Как создать параметрический запрос, позволяющий узнать оценку определенного студента по определенной дисциплине? Создайте такой запрос.
57