Лабораторная работа
Добавление строки в таблицу «Предприятие», список столбцов не полный.
INSERT INTO Предприятие (НомерПредприятия, Название)
VALUES (8, 'Предприятие8');
Добавление строк в таблицу «Оптовая_База» с указанными именами столбцов в произвольном порядке.
INSERT INTO Оптовая_База (Адрес, Название, НомерБазы)
VALUES ('Речная15', Название, 7)
Добавление строки в таблицу «Товар» без списка столбцов.
INSERT INTO Товар
VALUES (7, Название)
Добавление в таблицу «Оптовая_База» сведений о базе, у которой адрес и название будут такими же как у Предприятия5.
INSERT INTO Оптовая_База ( Адрес, Название )
SELECT Адрес, Название
FROM Предприятие
WHERE Название = 'Предприятие5';
Изменяет название организации в таблице «Транспортная_Организация»
UPDATE Транспортная_Организация
SET Название = ‘Viki’
WHERE Название = ‘Gruzovik’
Обновление строк в таблице «Доставка»
UPDATE Доставка
SET Расходы = Расходы + 100
Сократить на 2 срок доставки для ТО, расходы на доставку в которых превышают 1500.
UPDATE Доставка SET СрокДоставки = СрокДоставки-2
WHERE 2000.00 < Доставка.Расходы
Удаление из таблицы «Оптовая_База» данных базы Белка.
DELETE FROM Оптовая_База
WHERE Название=Белка
Удалить из таблицы «Доставка» строк, в которых НП = 3
DELETE FROM Доставка
WHERE НомерПредприятия = 3
Изменить адрес ОБ «Бухта».
UPDATE Оптовая_База SET Адрес=’Шуховский переулок 10’
WHERE Название = ’Бухта’
Объединить результаты таблиц «Доставка» и «Товар».
SELECT КодТовара, Название FROM Товар
WHERE КодТовара = 1
UNION
SELECT НомерБазы, НомерПредприятия FROM Доставка
WHERE КодТовара = 1
Объединение результатов Таблиц «Предприятие» и «Доставка» по коду предприятия 1.
SELECT НомерПредприятия, Название FROM Предприятие
WHERE НомерПредприятия = 1
UNION
SELECT НомерПредприятия , КодДоставки FROM Доставка
WHERE НомерПредприятия = 1
Объединение результатов Таблиц «Транспортная_Организация» и «Доставка» по номеру ТО = 6.
SELECT НомерОрганизации, Название
FROM Транспортная_Организация
WHERE НомерОрганизации = 6
UNION
SELECT НомерОрганизации, Расходы FROM Доставка
WHERE НомерОрганизации = 6
Объединение трёх созданных ранее запросов.
SELECT Название
FROM Запрос11Объединение
UNION ALL (SELECT Название FROM Запрос12Объединение
UNION SELECT Название FROM Запрос13Объединение)
Определить ТО с самой быстрой доставкой.
SELECT НомерОрганизации, Расходы FROM Доставка
WHERE Расходы = (SELECT MIN(Расходы ) FROM Доставка)
Проверяет значение выражения на равенство с одним из значений множества, возвращённого вложенным запросом.
SELECT *FROM Доставка
WHERE НомерОрганизации NOT IN (SELECT НомерОрганизации FROM Доставка
WHERE Транспортная_Организация.НомерОрганизации = Доставка.НомерОрганизации );
Проверка на существование. Проверяет наличие строк в таблице результатов вложенного запроса.
SELECT * FROM Доставка
WHERE EXISTS (SELECT КодТовара FROM Доставка
WHERE Товар.КодТовара = Доставка.КодТовара)
Сравнение с результатом вложенного запроса. Сравнивает значение выражения с одним значением, возвращённым вложенным запросом.
SELECT *FROM Доставка
WHERE КодТовара <= (SELECT КодТовара FROM Доставка
WHERE Товар.КодТовара = Доставка.КодТовара );
Сравнивает значение выражения с одним значением, возвращённым вложенным запросом.
SELECT *FROM Доставка
WHERE СрокДоставки > (SELECT НомерПредприятия
FROM Доставка
WHERE Предприятие.НомерПредприятия = Доставка.НомерПредприятия);
С использованием многократного сравнения определить ТО, которая доставляет заказы дольше остальных:
SELECT Транспортная_Организация.Название, "доставила за",
COUNT(СрокДоставки) , "дней"
FROM Доставка, Транспортная_Организация
WHERE Транспортная_Организация.НомерОрганизации = Доставка.НомерОрганизации
GROUP BY Название
HAVING COUNT(СрокДоставки)
>= ALL
(SELECT COUNT(СрокДоставки)
FROM Доставка, Транспортная_Организация
WHERE Транспортная_Организация.НомерОрганизации = Доставка.НомерОрганизации GROUP BY Название)
Страница