Конструирование запросов




 

Цель лабораторной работы:

 

1. Подготовка отчетов с помощью Конструктора запросов MS

Access.

 

2.,Знакомство с языком SQL.

3. Построение запросов на языке SQL.

4. Подготовка отчета по результатам лабораторной работы

 

Запросы предназначены,прежде всего,для отбора данных.Вы можетесоздать простой запрос для поиска записей в одной таблице, а можете сформулировать сложный запрос, включающий в себя данные из нескольких таблиц и учитывающий множество условий отбора. Ниже перечислены только некоторые вопросы, ответы на которые можно найти с помощью запросов.

Какие сотрудники были приняты на работу за последние три месяца? Каково количество новых заказчиков, к которым я обращался на последней неделе?

Каковы показатели по средне зарплате по отделам

 

Запрос на выборку

 

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

 

Позже мы более подробно остановимся на функциях запросов на выборку и рассмотрим несколько конкретных примеров работы в окне конструктора запросов (Query Design).

 

Другие типы запросов

 

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

 

Перекрестный запрос. С помощью запросов этого типа вы можете сделатьобзор по категориям данных, то есть обобщить информацию. Например, можно выяснить, каков был объем продаж по каждому продукту в каждом месяце


 

прошлого года. При создании запросов этого типа можно воспользоваться Мастером перекрестных запросов (Crosstab Wizard).

Запрос на создание таблицы. Когда вы превращаете запрос на выборку взапрос на создание таблицы, то записи, полученные в результате выполнения запроса, помещаются в новую таблицу.

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

Запрос на добавление. Запросы этого типа позволяют добавлять данные изодной таблицы в другую.

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

 

Основы языка SQL

 

Язык SQL – язык высокого уровня для создания запросов в реляционной базе данных.

 

Основной оператор языка SQL это - SELECT: SELECT [ALL | DISTINCT] список полей данных FROM список таблиц

 

[WHERE условие поиска]

[GROUP BY имя_столбца [, имя_столбца]…] [HAVING условие поиска]

[ORDER BY критерий упорядочивания].

 

Обязательными в запросе на SQL являются фразы SELECT и FROM, остальные могут использоваться для более подробных запросов. Во фразе WHERE указывается условие отбора записей из таблиц, имена которых указаны

 

в FROM. Фраза GROUP BY объединяет результирующее множество в группы, определяемые именами полей, указанными за GROUP BY. Все строки с одинаковыми значениями полей объединяются в одну строку.

 

Запрос на языке SQL можно набрать в командном окне либо создать запрос с помощью Конструктора запросов.

 

Удобное средство – использование оператора SQL для соединения двух таблиц. Например, соединить две таблицы из первой лабораторной работы Сотрудники (Employees) и Отдел (Department) по общему атрибуту

 

Depnum:

Select * from Department, Employees where Department.depnum = Employees.depmum

 

Такой же запрос:

 

Select * from Employees join Department on Department. depnum = Employees. Depnum


 

Возможны вложенные запросы:

 

Select lastname from Employees, where depnum in (select depnum from Department where depnum = d101 or depnum = d102)

 

Существуют операторы вставки (insert), обновления (update) и удаления (delete) данных в/из таблиц.

 

Оператор insert вставляет строку в таблицу:

 

Insert into bookauth values (1234, 344) в таблицу Bookauth вставляются значения в порядке следования атрибутов в таблице.

 

Insert into author (author_id, first_name, last_name)

 

values (125, ‘Anton’, ‘Antonov’)

в таблицу будут вставлены значения для перечисленных полей, если остальные поля помечены как NULL – необязательны для заполнения.

 

Оператор Update изменяет одну или несколько строк таблицы:

 

Update bookauth set author_id = 567 where book_id =

 

оператор меняет значение поля author_id для всех значений поля book_id равных 111.

 

Оператор Delete удаляет строки таблицы по заданному условию:

 

Delete from authors where city = London

 

Создание запроса

 

Для создания запроса используется Конструктор запросов.

 

Из главного меню:

 

Главное меню Æ Создание Æ Конструктор запросов Открывается окно Конструктора, в котором предлагается выбрать

 

таблицы для создания запроса:


 

 

Выбираем нужные нам таблицы, нужные поля. Для этого кнопкой Добавить добавляем таблицы в поле конструктора. В таблице ниже выбираем нужные поля из соответствующих таблиц

 

Конструируем запрос «Вывод сотрудников отдела, начальник которого Шифрин» в конструкторе запросов: Выбираем поля из раскрывающегося списка: manager, lastname, birthdate. В поле Условие отбора задаем значение ‘Shifrin’


 

Если условие составное, например,


 

Manager = ‘Shifrin’ AND birthdate = ’02.02.1980’, то условие набирается в строке «Условие отбора».

 

Если условие типа «ИЛИ», то условие набирается в строках «Условие отбора» и строке «ИЛИ»

 

Чтобы запрос выполнить, нажимаем в верхнем левом углу красный восклицательный знак

 

Запрос с параметром.

 

Можно указать поле, значение которого заранее не известно и значение которого вводится при выполнении запроса. Например, Номер отдела depnum.

В строку «Условие отбора» в квадратных скобках вводится текст, который появится в окошке. В нашем случае [number].

 

При выполнении запроса открывается окошко, в которое вводится искомое значение параметра:

 

При вводе в поле «number» значения номера отдела, например, 101 результат выполнения запроса будет выглядеть примерно так:


 

 

Запрос на добавление

 

Эквивалент запроса на добавление на языке SQL можно получить нажав правой кнопкой мыши на поле запроса:

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-12-12 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: