Запросы на изменение с помощью SQL 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Запросы на изменение с помощью SQL



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

Существует четыре вида запросов на изменение, каждому из которых соответствует определенная SQL-инструкция (рис. 8.1).

Рис 8.1. SQL-инструкции для запросов действия

 

Преобразование QBE-запроса в SQL-запрос

Если возникнет необходимость создать SQL-запрос, то следует спроектировать QBE-запрос, а затем преобразовать его в SQL-запрос. Ниже описана последовательность операций, которую необходимо при этом выполнить.

1. В окне проектирования QBE-запроса создайте QBE-запрос, который нужно преобразовать в SQL-запрос.

2. На вкладке Главная выберите команду Режим SQL. На экране появится окно SQL.

В окне SQL индицируется SQL-запрос, соответствующий QBE-запросу, составленному в окне конструктора.

SQL-запрос можно отредактировать в окне SQL. После закрытия окна изменения автоматически отображаются и в QBE-запросе.

 

Ввод SQL-выражения

В SQL -окно можно непосредственно вводить команды, составляющие SQL-запрос Проектирование SQL-запроса начинается с созда­ния нового QBE-запроса. После открытия окна конструктора QBE-запроса следует сразу активизировать команду Режим SQL. На экране появится окно SQL. В окне SQL введите инструкции, составляющие SQL-запрос. При вводе текста в этом окне слишком длинные строки разрываются.

Задание параметров в SQL-запросах

Параметром называют прототип значения, которое вводится при запуске запроса. Например, если требуется найти в таблице «Клиент» всех клиентов с одним отчеством, то можно создать следующую инструкцию SQL SELECT:

SELECT * FROM Клиенты
WHERE Отчество = @Введите_отчество

Знак @ перед параметром «Введите_ отчество» сообщает Access, что следует открыть диалоговое окно «Введите значение параметра», в которое пользователь вводит название страны, например «Викторович» или «Петровна», которое потом используется как значение в предложении WHERE.

Параметры используют как прототипы для текстовых или числовых значений. Обычно параметры используют как прототипы в условиях поиска отдельных строк или групп в предложениях WHERE или HAVING инструкции SQL.

Допускается также использование комбинации параметров для указания диапазона дат. Например, можно создать два параметра, @Начальная_дата и @Конечная_дата, в предложении WHERE в запросе, а затем указать диапазон дат, как в следующем примере.

 

SELECT * FROM Заказ

WHERE Дата_заказа

BETWEEN @ Начальная_дата AND @ Конечная_дата

 

Параметры можно использовать как прототипы в выражениях. Например, для расчета цен со скидками можно создать запрос, в который каждый раз подставляется новое значение скидки. Для этого следует создать следующую инструкцию SQL – SELECT Цена_путевки * @Введите_скидку:

 

SELECT Название_тура, Цена_путевки,

(Цена_путевки * @Введите­_скидку) AS Цена_со_скидкой

FROM Туры

 

2. Выбрать названия туров и цены путевок из таблицы «Туры» (рис. 8.2-8.3).

 

Рис. 8.2. SQL–инструкция для выполнения запроса «SQL 1»

 

Рис. 8.3. Результат отображения запроса «SQL 1»

 

Создать SQL-запрос в соответствии с вариантом (табл. 8.1). Задайте имя «SQL 1».

 

Таблица 8.1

Исходные данные для выполнения задания 2

Вариант Задание
  Выбрать названия проданного товара и стоимость единиц товара из таблицы «Товар»
  Выбрать названия города и тарифы за 1 минуту разговора из таблицы «Город»
  Выбрать названия вкладов и виды вкладов из таблицы «Вклады»
  Выбрать виды услуги и стоимости услуг из таблицы «Услуги»
  Выбрать названия товаров и стоимости товаров из таблицы «Товар»
  Выбрать номера поездов и типы поездов из таблицы «Поезда»
  Выбрать наименования товаров и стоимости единиц товара из таблицы «Товар»
  Выбрать названия дисков и стоимости дисков из таблицы «Диски»
  Выбрать наименования спортивного инвентаря и стоимости спортивного инвентаря из таблицы «Спортинвентарь»
  Выбрать названия работ и научных руководителей из таблицы «Научные работы»
  Выбрать наименования изделий и стоимости химчистки изделий из таблицы «Изделия»
  Выбрать наименования услуг и стоимости услуг из таблицы «Услуги»

 

3. Привести список клиентов и их домашний адрес, отсортируйте их по фамилии в порядке возрастания (рис. 8.4 – 8.5).

 

 

Рис. 8.4. SQL–инструкция для выполнения запроса «SQL 2»

 

Рис. 8.5. Результат отображения запроса «SQL 2»

 

Создать SQL-запрос в соответствии с вариантом (табл. 8.2). Задайте имя «SQL 2».

Таблица 8.2

Исходные данные для выполнения задания 3

Вариант Задание
  Привести список фирм и их юридический адрес, отсортируйте их по названию фирм-клиентов в порядке возрастания
  Привести список абонентов и их домашний адрес, отсортируйте их по фамилии в порядке возрастания
  Привести список вкладчиков и их домашний адрес, отсортируйте их по фамилии в порядке возрастания
  Привести список квартиросъемщиков и их домашний адрес, отсортируйте их по фамилии в порядке возрастания
  Привести список клиентов и их домашний адрес, отсортируйте их по фамилии в порядке возрастания

 

Окончание табл. 8.2

  Привести список пассажиров и их домашний адрес, отсортируйте их по фамилии в порядке возрастания
  Привести список фирм и их юридический адрес, отсортируйте их по названию фирм в порядке возрастания
  Привести список покупателей и их домашний адрес, отсортируйте их по фамилии в порядке возрастания
  Привести список клиентов и их домашний адрес, отсортируйте их по фамилии в порядке возрастания
  Привести список студентов и их домашний адрес, отсортируйте их по фамилии в порядке возрастания
  Привести список клиентов и их домашний адрес, отсортируйте их по фамилии в порядке возрастания
  Привести список клиентов и их домашний адрес, отсортируйте их по фамилии в порядке возрастания

 

4. Привести полную информацию о турах (рис. 8.6 – 8.7).

 

Рис. 8.6. SQL–инструкция для выполнения запроса «SQL 3»

 

Рис. 8.7. Результат отображения запроса «SQL 3»

 

 

Создать SQL-запрос в соответствии с вариантом (табл. 8.3). Задайте имя «SQL 3».

Таблица 8.3

Исходные данные для выполнения задания 4

Вариант Задание
  Привести полную информацию о товаре
  Привести полную информацию об абонентах
  Привести полную информацию о вкладах
  Привести полную информацию о квартиросъемщиках
  Привести полную информацию о товаре
  Привести полную информацию о пассажирах
  Привести полную информацию о фирмах
  Привести полную информацию о дисках
  Привести полную информацию о спортинвентаре
  Привести полную информацию о студентах
  Привести полную информацию о клиентах
  Привести полную информацию об услугах

 

5. Выбрать по одному туру из табл. «Заказы» (рис. 8.8 – 8.9).

 

 

Рис. 8.8. SQL-инструкция для выполнения запроса «SQL 4»

Рис. 8.9. Результат отображения запроса «SQL 4»

 

Создать SQL-запрос в соответствии с вариантом (табл. 8.4). Задайте имя «SQL 4».

 

Таблица 8.4

Исходные данные для выполнения задания 5

Вариант Задание
  Выбрать по одному товару из табл. «Покупки»
  Выбрать по одному абоненту из табл. «Переговоры»
  Выбрать по одному вкладу из табл. «Операции»
  Выбрать по одной услуге из табл. «Оплата»
  Выбрать по одному товару из табл. «Доставка»
  Выбрать по одному пассажиру из табл. «Резервирование»
  Выбрать по одному товару из табл. «Операции»
  Выбрать по одному покупателю из табл. «Покупка»
  Выбрать по одному клиенту из табл. «Прокат»

Окончание табл. 8.4

Вариант Задание
  Выбрать по одному виду работ из табл. «Участие»
  Выбрать по одному клиенту из табл. «Заказы»
  Выбрать по одной услуге из табл. «Заказы»

 

6. Выбрать даты заказов, места туров и упорядочить в убывающем порядке по дате (рис. 8.10 – 8.11).

 

Рис. 8.10 – SQL–инструкция для выполнения запроса «SQL 5»

 

Рис. 8.11. Результат отображения запроса «SQL 5»

Создайте SQL-запрос в соответствии с вариантом (табл. 8.5). Задайте имя «SQL 5».

 

 

Таблица 8.5

Исходные данные для выполнения задания 6

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

7. На основе базовой таблицы (по выбору) создайте SQL-запрос с параметром (рис. 8.12 – 8.14). Задайте имя «SQL 6».

 

Рис. 8.12. SQL–инструкция для выполнения запроса «SQL 6»

Рис.8.13. Задание параметра для запроса «SQL 6»

 

Рис. 8.14. Результат отображения запроса «SQL 6»

 

8. На основе таблицы-связки создайте SQL-запрос, отображающий заказы (оплаты, доставки, операции и т.д.) определенного года, значением года задаться самостоятельно (рис. 8.15 – 8.16). Задайте имя «SQL 7».

 

Рис.8.15. SQL–инструкция для выполнения запроса «SQL 7»

 

Рис. 8.16. Результат отображения запроса «SQL 7»

 

9. Для запросов к серверу, управляющих запросов и запросов на объединение необходимо создавать инструкции SQL непосредственно в окно запроса в режиме SQL.

Запрос на объединение объединяет поля из двух или нескольких таблиц или запросов в одно поле в результатах запроса. Такие запросы обычно используют для объединения данных из двух таблиц. Например, может потребоваться объединение сведений из таблиц «Туры» и «Заказ» о турах, которые заказаны во Францию_(Париж) (рис. 8.17, рис. 8.18). После этого можно на основе запроса на объединение создать запрос на создание таблицы, генерирующий новую таблицу.

 

Рис. 8.17. SQL–инструкция для выполнения запроса «SQL 8»

 

Рис. 8.18. Результат отображения запроса «SQL 8»

 

На основе имеющихся таблиц, например «Клиенты» и «Заказы» (выбрать в соответствии с вариантом) создайте SQL-запрос на объединение данных. Задайте имя «SQL 8».

10. Управляющий запрос создает, удаляет или изменяет таблицы или создает индексы в таблице базы данных. Например, в следующем управляющем запросе инструкция CREATE TABLE используется для создания таблицы «Новые_клиенты_1» (рис. 8.19, рис. 8.20). Приведенная инструкция определяет имена и типы данных для полей таблицы и создает для поля «Код» индекс, делающий это поле ключевым.

CREATE TABLE Новые_клиенты_1

([Код] integer,

[Фамилия] text,

[Имя] text,

[Дата рождения] date,

[Телефон] text,

CONSTRAINT [Индекс1] PRIMARY KEY ([Код]));

Рис. 8.19. SQL–инструкция для выполнения запроса «SQL 9»

 

Рис. 8.20. Результат отображения запроса «SQL 9»

 

На основе базовой таблицы создайте управляющий SQL-запрос на создание таблицы «Новые_клиенты» («Новые_товары», «Новые_абоненты» и т.д.) (рис.). Задайте имя «SQL 9».

 

 

Содержание отчета

1. Название и цель работы.

2. Постановка задачи по варианту.

3. Макеты запросов в режиме SQL.

4. Результаты выполнения запросов.

5. Окно БД, область навигации.

6. Список контрольных вопросов и ответов на них.

7. Выводы.

8. Список использованных источников.

 

Контрольные вопросы

1. Основные виды, назначение и особенности SQL–запросов.

2. Основные SQL-инструкции (параметры, предикаты, операции).

3. Ввод SQL-выражений.

4. Задание параметров в SQL-запросах.

5. Создание управляющих запросов.

6. Создание запросов на объединение.

 



Поделиться:


Последнее изменение этой страницы: 2016-07-16; просмотров: 681; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.188.175.182 (0.053 с.)