Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Ответы к некоторым упражнениям




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

 

 

Запишите подходящее предложение INSERT, DELETE или UPDATE для каждой из следующих задач.

7.1.2.1. Измените цвет всех красных деталей на оранжевый.

7.1.2.2. Удалите все изделия, для которых нет поставок деталей.

7.1.2.3. Увеличьте размер поставки на 10 процентов для всех поставок тех поставщиков, которые поставляют какую-либо красную деталь.

7.1.2.4. Удалите все изделия из Рима и все соответствующие поставки.

7.1.2.5. Вставьте в таблицу S нового поставщика S10. Его фамилия и город – 'Уайт' и 'Нью-Йорк' соответственно, а состояние еще неизвестно.

7.1.2.6. Постройте таблицу, содержащую список номеров деталей, которые поставляются либо каким-нибудь поставщиком из Лондона, либо для какого-либо изделия в Лондоне.

7.1.2.7. Постройте таблицу, содержащую список номеров изделий, которые либо находятся в Лондоне, либо для них поставляются детали каким-нибудь поставщиком из Лондона.

7.1.2.8. Добавьте 10 к состоянию всех поставщиков, состояние которых в настоящее время меньше, чем состояние поставщика S4.

7.1.2.9. Постройте внешнее естественное соединение изделий и поставок по номерам изделий.

7.1.2.10. Постройте внешнее естественное соединение деталей и изделий по городам.

7.1.2.11. Постройте таблицу, содержащую полную информацию о поставщиках, деталях и изделиях, с указанием объема поставок для каждой поставки вместе с «сохраненной» информацией для каждого поставщика, детали и изделия, которые не входят в таблицу поставок.

7.1.2.1.UPDATE P SЕТ ЦВЕТ = 'Оранжевый' WHERE ЦВЕТ = 'Красный';

7.1.2.2.

DELETE FROM J WHERE НОМЕР_ПОСТАВЩИКА NOT IN
(SELECT НОМЕР_ИЗДЕЛИЯ FROM SPJ);

7.1.2.3.

CREATE TABLE КРАСНЫЕ (НОМЕР_ПОСТАВЩИКА CHAR(5));
INSERT INTO КРАСНЫЕ (НОМЕР_ПОСТАВЩИКА)
SELECT DISTINCT НОМЕР_ПОСТАВЩИКА FROM SPJ, P
WHERE SPJ.НОМЕР_ДЕТАЛИ = P.НОМЕР_ДЕТАЛИ AND ЦВЕТ = 'Красный';
UPDATE SPJ SET КОЛИЧЕСТВО = КОЛИЧЕСТВО * 1.1
WHERE НОМЕР_ПОСТАВЩИКА IN

(SELECT НОМЕР_ПОСТАВЩИКА FROM КРАСНЫЕ);
DROP TABLE КРАСНЫЕ;

7.1.2.4.

DELETE FROM SPJ WHERE 'Рим'=
(SELECT ГОРОД FROM J
WHERE J.HOMEP_ИЗДЕЛИЯ=SPJ.НОМЕР_ИЗДЕЛИЯ);
DELETE FROM J WHERE ГОРОД == 'Рим';

7.1.2.5.

INSERT INTO S (НОМЕР_ПОСТАВЩИКА, ФАМИЛИЯ.ГОРОД)
VALUES('S10', 'Уайт', 'Нью-Йорк');
или
INSERT INTO S(НОМЕР_ПОСТАВЩИКА, ФАМИЛИЯ, СОСТОЯНИЕ, ГОРОД)
VALUES ('S10', 'Уайт', 'NULL', 'Нью-Йорк');

7.1.2.6.

CREATE TABLE СПИСОК_ДЕТАЛЕЙ
(НОМЕР_ДЕТАЛИ CHAR (6));
INSERT INTO СПИСОК_ДЕТАЛЕЙ (НОМЕР_ДЕТАЛИ)
SELECT DISTINCT НОМЕР_ДЕТАЛИ FROM SPJ
WHERE НОМЕР_ПОСТАВЩИКА IN
(SELECT НОМЕР_ПОСТАВЩИКА FROM S
WHERE ГОРОД = 'Лондон') OR НОМЕР_ИЗДЕЛИЯ IN
(SELECT НОМЕР_ИЗДЕЛИЯ FROM J
WHERE ГОРОД = 'Лондон');

7.1.2.7.

CREATE TABLE СПИСОК_ИЗДЕЛИЙ (НОМЕР_ИЗДЕЛИЯ CHAR (4));
INSERT INTO СПИСОК_ИЗДЕЛИЙ (НОМЕР_ИЗДЕЛИЯ
SELECT НОМЕР_ИЗДЕЛИЯ FROM J
WHERE ГОРОД = 'Лондон' OR НОМЕР_ИЗДЕЛИЯ IN
(SELECT DISTINCT HOMEP_ИЗДЕЛИЯ FROM SPJ
WHERE НОМЕР_ПОСТАВЩИКА IN
(SELECT НОМЕР_ПОСТАВЩИКА FROM S
WHERE ГОРОД = 'Лондон'));

7.1.2.8.

SELECT СОСТОЯНИЕ FROM S WHERE НОМЕР_ПОСТАВЩИКА = 'S4';

Результат: состояние, 20

Отсюда:
UPDATE S SET СОСТОЯНИЕ = СОСТОЯНИЕ +10
WHERE СОСТОЯНИЕ < 20;

7.1.2.9.

CREATE TABLE РЕЗУЛЬТАТ
(НОМЕР_ИЗДЕЛИЯ CHAR(4), НАЗВАНИЕ CHAR(10), ГОРОД CHAR(15)
НОМЕР_ПОСТАВЩИКА CHAR(5),НОМЕР_ДЕТАЛИ CHAR(6),
КОЛИЧЕСТВО INTEGER);
INSERT INTO РЕЗУЛЬТАТ
SELECT J.*, SPJ.НОМЕР_ПОСТАВЩИКА,
SPJ.НОМЕР_ДЕТАЛИ, SPJ.КОЛИЧЕСТВО FROM J, SPJ
WHERE J.НОМЕР_ИЗДЕЛИЯ = SPJ.НОМЕР_ИЗДЕЛИЯ;
INSERT INTO РЕЗУЛЬТАТ
SELECT J.*, 'bb', 'bb','0 FROM J WHERE NOT EXISTS
(SELECT * FROM SPJ
WHERE SPJ.HOMEP_ИЗДЕЛИЯ = J.HOMEP_ ИЗДЕЛИЯ);

7.1.2.10

CREATE TABLE PEЗУЛЬTAT10
(НОМЕР_ДЕТАЛИ CHAR(6), НАЗВАНИЕ CHAR (20),
ЦВЕТ CHAR (6), ВЕС SMALLINT,ГОРОД SHAR(15),
НОМЕР_ИЗДЕЛИЯ CHAR(4), НАЗВАНИЕ CHAR(10));
INSERT INTO РЕЗУЛЬТАТ CHAR(10)

SELECT P.*, НОМЕР_ИЗДЕЛИЯ, НАЗВАНИЕ FROM Р,J
WHERE Р.ГОРОД = J.ГОРОД;
INSERT INTO РЕЗУЛЬТАТ CHAR(10) SELECT Р. *, bb', bb' FROM P
WHERE NOT EXISTS
(SELECT * FROM J WHERE J.ГОРОД = Р.ГОРОД);
INSERT INTO РЕЗУЛЬТАТ10
SELECT 'bb', 'bb', 'bb', 0, J.ГОРОД, J.НОМЕР,ИЗДЕЛИЯ, J.НАЗВАНИЕ
FROM J WHERE NOT EXISTS
(SELECT * FROM P WHERE P.ГОРОД = J.ГОРОД);

7.1.2.11.

CREATE TABLE РЕЗУЛЬТАТ CHAR(11)
(НОМЕР_ПОСТАВЩИКА..., ФАМИЛИЯ..., СОСТОЯНИЕ..., ГОРОД_ПОСТАВЩИКА..., НОМЕР_ДЕТАЛИ.... НАЗВАНИЕ_ДЕТАЛИ.., ЦВЕТ..., ВЕС..., ГОРОД_ДЕТАЛИ..., НОМЕР_ИЗДЕЛИЯ..., НАЗВАНИЕ_ИЗДЕЛИЯ.... ГОРОД_ИЗДЕЛИЯ..., КОЛИЧЕСТВО...);
INSERT INTO РЕЗУЛЬТАТ CHAR(11)
SELECT S. *, P. *, J. *, SPJ. КОЛИЧЕСТВО FROM S, P, J, SPJ
WHERE S. НОМЕР_ПОСТАВЩИКА = SPJ.НОМЕР_ПОСТАВЩИКА
AND P.НОМЕР_ДЕТАЛИ = SPJ.НОМЕР_ДЕТАЛИ
AND J.НОМЕР_ИЗДЕЛИЯ = SPJ.НОМЕР_ИЗДЕЛИЯ;
INSERT INTO РЕЗУЛЬТАТ CHAR(11)
SELECT S. *, 'bb', ‘bb', 'bb', 0, ‘ bb ', ' bb ', ‘bb', ' bb ', 0 FROM S
WHERE NOT EXISTS
(SELECT * FROM SPJ
WHERE SPJ.НОМЕР_ПОСТАВЩИКА = S.НОМЕР_ПОСТАВЩИКА);
INSERT INTO РЕЗУЛЬТАТ CHAR(11)
SELECT 'bb', 'bb', 0, 'bb', P. *, 'bb', 'bb', 'bb', 0 FROM P
WHERE NOT EXISTS
(SELECT * FROM SPJ WHERE P. НОМЕР_ДЕТАЛИ = SPJ.НОМЕР_ДЕТАЛИ);
INSERT INTO РЕЗУЛЬТАТ 11
SELECT 'bb', 'bb', 0, 'bb', 'bb', 'bb', 'bb', 0, 'bb', J. *, 0 FROM J
WHERE NOT EXISTS
(SELECT * FROM SPJ WHERE SPJ.НОМЕР_ИЗДЕЛИЯ = J.НОМЕР_ИЗДЕЛИЯ);

 




Поделиться с друзьями:


Дата добавления: 2014-12-10; Просмотров: 6839; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.