Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
задания практика 3 часть консоль БД MySQLпо ПР ТРЗБД_.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.64 Mб
Скачать

Задание

Пусть даны следующие таблицы:

1. Товары(*НомерТовара, Название, Цена)

2. Клиенты(*НомерКлиента, ФИО, Адрес)

3. Сделки(*Номер Сделки, Номер Клиента, Номер Товара, Количество, Дата Сделки)

Назначения полей очевидны. В таблице «Товары» содержится описание вообще всех товаров. В таблице «Клиенты» содержится информация вообще обо всех клиентах. А в таблице «Сделки» содержится информация только о тех товарах, которые покупались клиентами и только о тех клиентах, которые покупали товар.

Требуется написать SQL-операторы для выполнения следующих запросов:

  1. Посчитать общее количество сделок.

  2. Посчитать по каждому клиенту количество его сделок и выдать результат в виде:

Номер Клиента, ФИО, Количество сделок.

  1. Посчитать по каждому клиенту количество его сделок, на какую сумму и выдать результат в виде: Номер Клиента ФИО Количество сделок На общую Сумму.

  2. Посчитать количество сделок и общую сумму сделок по месяцам года. Выдать результат в виде: Номер месяца, Количество сделок, На общую Сумму.

  3. Выбрать Фамилия только тех клиентов, которые совершили сделок на сумму больше 5000 рублей.

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

  1. В каких случаях следует использовать операторы IN или NOT IN в подзапросах? Приведите примеры.

  2. В каких случаях следует использовать операторы EXISTS или NOT EXISTS в подзапросах? Приведите примеры.

  3. Чем SOME и ANY отличается от ALL при использовании во вложенных запросах? Приведите примеры.

Лабораторная работа № 14

Тема: «Построение запросов на изменение данных».

Цель работы: Научиться создавать запросы на изменение данных.

Время выполнения: подготовка: 5 мин; выполнение: 75 мин; проверка: 10 мин; всего: 90 мин.

Указания к выполнению лабораторной работы

Команда insert

Команда INSERT относится к командам манипулирования данными и позволяет добавлять одну или несколько строк к таблице. Команда имеет два варианта синтаксиса. Оба варианта приведены ниже:

INSERT INTO ИмяТаблицы [(ИмяАтрибута, ...)] VALUES (Выражение,...)

или

INSERT INTO ИмяТаблицы [(ИмяАтрибута, ...)] SELECT ...

В случае 1-го варианта синтаксиса команда добавляет одну строку к таблице и заполняет ее значениями, указанными в списке VALUES. При этом список столбцов [(ИмяАтрибута, ...)] должен точно соответствовать списку значений, указанному в круглых скобках после VALUES. В выражении, следующем после VALUES можно использовать любое поле из списка атрибутов (или таблицу, если список имен столбцов не задан).

В случае 2-го варианта синтаксиса команда добавляет к таблице подмножество строк из другой таблицы, определяемое оператором SELECT. Оператор SELECT должен использоваться без ORDER BY.

Список столбцов [( ИмяАтрибута, ...)] должен точно соответствовать списку значений, указанному в VALUES.

В Выражении можно использовать любое поле из списка имен атрибутов (или таблицу, если список имен столбцов не задан).

В случае второго варианта синтаксиса SELECT должен использоваться без ORDER BY.

Задание 1

  1. Создать новую запись в таблице Sotr и заполнить поля FIO, N_otd, zarpl значениями

INSERT INTO Sotr (FIO, N_otd, zarpl) VALUES (“Иванов И И”, 1, 15000)

2. Скопирует все данные из таблицы

Otdel2 в таблицу Otdel1.

INSERT INTO Otdel1 SELECT * FROM Otdel2; - при

3. С помощью одной команды добавить в таблицу несколько строк

INSERT INSERT INTO Otdel VALUES (1,”Отдел кадров”), (2,”Плановый отдел”), (3,”Бухгалтерия”);