
4. Поступления
5) Изменение данных.
Создадим запросы SQL, которые будут использоваться для манипулирования данными:
a) Запрос на добавление данных:
INSERT INTO Товары VALUES (11, ’Товар_11’,175);
b) Запрос на удаление данных:
DELETE FROM Товары WHERE Наименование_товара = ’Товар5 ’;
c) Запрос на обновление данных:
UPDATE Товары SET Цена=Цена*1.2 WHERE Цена<500;
d) Запрос на создание таблиц на основе имеющихся данных:
SELECT * INTO Новая_таблица FROM Продажи WHERE Сумма>=5000;
Код_продажи |
Код_товара |
Код_торговой_палатки |
Дата_продажи |
Количество |
Сумма |
1 |
9 |
5 |
08.12.03 |
2 |
20500 |
7 |
3 |
6 |
19.10.03 |
50 |
5000 |
9 |
1 |
1 |
22.01.03 |
4 |
8000 |
6) Запросы на выборку данных.
a) Использование агрегатных функций.
SELECT COUNT(*) FROM Поступления WHERE Регион_поставки=’Белгородская’;
-
Count
4
SELECT MAX(Сумма) AS Максимальная_сумма FROM Поступления;
Максимальная_сумма |
20500 |
b) Сортировка данных.
SELECT Товары.Наименование_товара,Товары.Цена FROM Товары ORDER BY Товары.Цена;
c) Группировка данных.
SELECT Поступления.Регион_поставки, AVG(Поступления.Сумма) AS Средняя_сумма FROM Поступления
GROUP BY Поступления.Регион_поставки;
7) Создание подзапросов.
a) Создание однотабличного подзапроса.
SELECT * FROM Поступления WHERE Код_поступления IN(SELECT Код_поступления FROM Поступления WHERE Регион_поставки=’Курская ’)
b) Создание многотабличного подзапроса.
SELECT Торговые_палатки.Продавец, Поступления.Количество FROM Торговые_палатки INNER JOIN Поступления ON Торговые_палатки.Код_торговой_палатки = Поступления.Код_торговой_палатки WHERE Торговые_палатки.Код_торговой_палатки IN (SELECT Код_торговой_палатки FROM Поступления WHERE Количество IN (4, 5))
ORDER BY Продавец DESC;
Продавец |
Количество |
Сидорчук |
4 |
Иванов |
4 |
Васечкин |
5 |
8) Создание представлений.
1) Создать представление «Характеристика_товара»на основе таблицы «Товары»,содержащее:наименование и цену_товара,где наименование_товара=Товар_1.
CREATE VIEW Характеристика_товара AS SELECT Наименование_товара,Цена FROM Товары WHERE Наименование_товара=Товар_1;
В результате получим следующую виртуальную таблицу:
«Характеристика_товара»
Наименование |
Цена |
Товар_1 |
2000 |
2) Создать представление «Поступление_товаров» на основе таблиц «Торговые_палатки», «Поступления»,содержащее: Максимальное_количество,Продавец,Максимальная_сумма
CREATE VIEW Поступление AS SELECT MAX(Количество), Продавец, MAX(Сумма) FROM Торговые_палатки, Поступления WHERE Торговые_палатки.Код_торговой_палатки=Поступления.Код_торговой_палатки GROUP BY Торговые_палатки.Продавец;
В результате получим следующую виртуальную таблицу:
«Поступление»
Максимальное_количество |
Продавец |
Максимальная_сумма |
50 |
Болотских |
5000 |
5 |
Васечкин |
2000 |
100 |
Иванов |
8000 |
50 |
Кузнецов |
2000 |
1 |
Петров |
2000 |
4 |
Сидорчук |
1600 |
100 |
Федичкин |
20500 |