Создание запросов в СУБД MsAccess

СПбГУАП

Кафедра 43

 

 

Отчет защищен:

Преподаватель: Соловьева Н.А.

 

 

Отчет по лабораторной работе №7 по курсу

“Информационные технологии в экономике”

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

в СУБД MsAccess»

 

Работу выполнила

Студентка гр.4538: Иванина Елена

 

-2007-

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

в СУБД MsAccess»

по курсу «Информационные технологии в экономике»

 

Цель работы: изучить возможности построения запросов на выборку в конструкторе и в окне редактора SQL; научиться формулировать и реализовывать запросы.

 

Задание

 

Для своей базы данных, подготовленной во время выполнения предыдущих лабораторных работ, сформулировать и реализовать запросы следующих типов (по одному запросу на каждый тип):

 

  1. выборка данных из нескольких таблиц
  2. выборка данных с двумя условиями
  3. перекрестный запрос
  4. запрос с параметром
  5. запрос на обновление
  6. запрос на добавление
  7. запрос на удаление
  8. запрос с объединением

9. запрос на создание таблицы

 

 

Выполнение задания.

 

Выборка данных из нескольких таблиц

Вывести на экран номер счета клиента открытого в банке, денежную сумму на счету, номер карты клиента и номер паспорта клиента.

Исходная заполненная таблица.

 

 

 

Текст на SQL:

SELECT банк.[номер счета], банк.[сумма на счету], [кредитная карта].[номер карты], [кредитная карта].[номер паспорта]

FROM банк INNER JOIN [кредитная карта] ON банк.[номер счета]=[кредитная карта].[номер счёта];

Результат запроса.

 

 

 

Выборка данных с двумя условиями

Вывести на экран дату регистрации и класс номера больше 2.

 

Исходная заполненная таблица.

 

 

Текст на SQL:

SELECT [гостиничный номер].[класс номера], [гостиничный номер].[дата регистрации]

FROM [гостиничный номер]

WHERE ((([гостиничный номер].[класс номера])>"2") AND (([гостиничный номер].[дата регистрации])>#3/5/2007#));

Результат запроса.

 

 

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

Вывести ФИО заказчика, ФИО исполнителя заказа, дату поступления и дату выполнения заказа по номеру заказа. Параметр- номер заказа.

 

Исходная заполненная таблица.

 

 

Текст на SQL:

SELECT клиент.фамилия, клиент.имя, клиент.отчество, клиент.[номер паспорта], клиент.[серия паспорта], клиент.[адрес проживания]

FROM клиент

WHERE (((клиент.фамилия)=[введите фамилию]));

Результат запроса.

 

 

 

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

увеличить сумму на счету 2 клиента на 10%

 

Исходная заполненная таблица.

 

Текст на SQL:

UPDATE банк SET банк.[сумма на счету] = банк.[сумма на счету]*1.1

WHERE (((банк.[номер счета])=2));

Результат запроса.

 

 

Запрос с объединением

Вывести фамилии клиентов и номер класса в котором они проживают.

Исходные заполненные таблицы.

 

 

 

 

 

Текст на SQL:

SELECT [фамилия]

FROM клиент

UNION SELECT [список клиентов]

FROM [гостиничный номер];

Результат запроса.

 

 

 

Запрос на удаление

 

Удалить все товары, количество которых в заказе равно22.

 

Исходная заполненная таблица.

 

 

 

Текст на SQL:

DELETE [гостиничный номер].*, [гостиничный номер].[класс номера]

FROM [гостиничный номер]

WHERE ((([гостиничный номер].[класс номера])<"2"));

Результат запроса.

 

 

 

 

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

Добавить в таблицу выиграли в лотерею проживающих в гостиничных номера класса более 3.

 

 

Исходная заполненная таблица.

 

Гостиничный номер

 

Выиграли в лотереи

 

Текст на SQL:

INSERT INTO [выиграли в лотереи] ( [список клиентов], [дата регистрации] )

SELECT [гостиничный номер].[список клиентов], [гостиничный номер].[дата регистрации]

FROM [гостиничный номер]

WHERE (([гостиничный номер].[класс номера]>"3"));

 

Результат запроса.

 

 

Перекрестный запрос

Создать перекрестный запрос, который будет показывать, сколько заказов и для каких клиентов выполнил каждый исполнитель заказов.

 

Исходная заполненная таблица.

 

Текст на SQL:

TRANSFORM Count(заказ.[выполнен не выполнен]) AS [Count-выполнен не выполнен]

SELECT заказ.[ФИО заказчика], Count(заказ.[выполнен не выполнен]) AS [Итоговое значение выполнен не выполнен]

FROM заказ

GROUP BY заказ.[ФИО заказчика]

PIVOT заказ.[ФИО исполнителя заказа];

 

Результат запроса.

 

Запрос на создание таблицы

 

Создать таблицу “Выиграли в лотерею” в которой находится список клиентов, у которых класс номера более двух

 

Исходная заполненная таблица.

 

 

 

 

Текст на SQL:

 

SELECT [гостиничный номер].[список клиентов], [гостиничный номер].[дата регистрации]

INTO [выиграли в лотереи]

FROM [гостиничный номер]

WHERE ((([гостиничный номер]. [Класс номера])>"2"));

 

 

Результат запроса.