
Рабочий стол / Laba_2_BD
.docМіністерство освіти і науки України
Черкаський політехнічний технікум
Лабораторна робота
з дисципліни: «Бази даних»
на тему: «Команди модифікації в БД на мові SQL»
Виконав:
студент групи ПС 3-1
Ошовський Б.С.
Перевірив: викладач
Трембовецька Т.В.
2013
Мета: Виробити навички використання команд модифікації мови SQL.
Порядок виконання роботи:
-
В даній лабораторній роботі використати таблиці з попередньої лабораторної роботи. Таблицю Salespeople ввести за допомогою команди мови SQL.
-
Практична частина.
Створити запити:
1. Напишіть команду, яка б помістила наступні значення, в їх нижче вказаному порядку, в таблицю Продавців:
city - San Jose,
name - Bianco,
comm - NULL,
cnum - 1100.
2. Напишіть команду, яка б видалила всі замовлення замовника Clemens з таблиці Порядків.
3. Напишіть команду, яка б збільшила оцінку всіх замовників в Римі на 100.
4. Продавець Serres залишив компанію. Перепризначте його замовників продавцю Motika.
5. Додати до таблиці Salespeople всіх продавців які мають замовників в San Jose, незалежно від того, чи знаходяться там продавці чи ні.
6. Видалити всіх замовників, чиї продавці - в Лондоні:
7. Видалити всіх продавців, які мають щонайменше одного замовника з оцінкою 100 в таблиці Продавців.
8. Збільшити комісійні всіх продавців, які були призначені принаймні двом замовникам.
9. Видалити всіх замовників з оцінками нижче за середню.
10. Припустіть, що існує таблиця Multicust, з такими ж іменами стовпців що і таблиця Продавців. Напишіть команду, яка б вставила всіх продавців (з таблиці Продавців), що мають більш ніж одного замовника в цю таблицю.
11. Напишіть команду яка б видаляла всіх замовників, що не мають поточних замовлень.
12. Напишіть команду яка б збільшила на двадцять відсотків комісійні всіх продавців, що мають загальні поточні замовлення на суму, вищу ніж $3,000.
Реалізовані запити:
Завдання 1
CREATE TABLE Salespeople1(
snum int, sname varchar(25), city varchar(25), comm int
)
Запит 1
INSERT INTO Salespeople ( city, sname, comm, snum )
VALUES ('San Jose', 'Bianco', null, 1100);
Запит 2
DELETE *
FROM Orders
WHERE cnum=2006;
Запит 3
UPDATE Customers SET rating = rating+100
WHERE (Customers.city)="Rome";
Запит 4
UPDATE Customers SET snum = 1004
WHERE (Customers.snum)=1002;
Запит 5
INSERT INTO Salespeople1 ( snum, sname, city, comm )
SELECT Salespeople.snum, Salespeople.sname, Salespeople.city, Salespeople.comm
FROM Salespeople INNER JOIN Customers ON Salespeople.snum=Customers.snum
WHERE Customers.city="SanJose";
Запит 6
DELETE Customers.cnum, Customers.cname, Customers.city, Customers.rating, Customers.snum
FROM Customers
WHERE snum in(SELECT snum
FROM Salespeople
WHERE Salespeople.city="London";);
Запит 7
DELETE *
FROM Salespeople
WHERE snum in (SELECT snum
FROM Customers
WHERE rating=100 );
Запит 8
UPDATE Salespeople SET Salespeople.comm = Salespeople!comm+0.01
WHERE snum in (SELECT snum FROM Customers WHERE (SELECT Count(snum) FROM Customers)=2);
Запит 9
DELETE *
FROM Customers
WHERE (Customers.rating)< (SELECT Avg (Customers!rating) FROM Customers );
Запит 10
Запит 11
DELETE *
FROM Customers
WHERE Customers.cnum in (SELECT cnum FROM Orders WHERE Customers.cnum<>Orders.cnum ;);
Запит 12
UPDATE Salespeople INNER JOIN Orders ON Salespeople.snum=Orders.snum SET Salespeople.comm = Salespeople!comm*1.2
WHERE ((SELECT Sum(Orders.amt) FROM Orders)>3000);.
ВИСНОВОК
В даній лабораторній роботі я вдосконалив навички використання команд модифікації мови SQL, застосовуючи їх на створенні запитів на додавання. оновлення, видалення.