SHOW:
|
|
- or go back to the newest paste.
| 1 | --Vježba 8 – INSERT, UPDATE, DELETE | |
| 2 | ||
| 3 | --NAPOMENA: Vježba se radi nad bazom podataka Northwind. | |
| 4 | --1. U tabelu Customers dodati sebe kao kupca. Također, u istu tabelu dodati 5 (Random) kupaca iz baze podataka AdventureWorks2012. Voditi računa o kompatibilnosti podataka. | |
| 5 | USE Northwind | |
| 6 | INSERT INTO Customers | |
| 7 | VALUES('SMIMI','Fresh beverages','Mike Smith','CEO','Neverwinter st. 666','London',NULL,'1337','UK',NULL,NULL)
| |
| 8 | ||
| 9 | SELECT * | |
| 10 | FROM Customers | |
| 11 | WHERE CustomerID='SMIMI' | |
| 12 | ||
| 13 | USE AdventureWorks2012 | |
| 14 | INSERT INTO Northwind.dbo.Customers | |
| 15 | SELECT TOP 5 UPPER(LEFT(PP.FirstName,3)+LEFT(PP.LastName,2)),'nepoznato',PP.FirstName+' '+PP.LastName,'nepoznato', PA.AddressLine1, NULL, PCR.CountryRegionCode,PA.PostalCode,LEFT(PCR.Name,15),PPP.PhoneNumber, NULL | |
| 16 | FROM Person.Person AS PP | |
| 17 | LEFT JOIN Person.BusinessEntityContact AS PBE ON PP.BusinessEntityID=PBE.BusinessEntityID | |
| 18 | LEFT JOIN Sales.Customer AS SC ON PBE.PersonID=SC.PersonID | |
| 19 | JOIN Person.BusinessEntityAddress AS BE ON PP.BusinessEntityID=BE.BusinessEntityID | |
| 20 | JOIN Person.Address AS PA ON BE.AddressID=PA.AddressID | |
| 21 | JOIN Person.StateProvince AS PSP ON PA.StateProvinceID=PSP.StateProvinceID | |
| 22 | JOIN Person.CountryRegion AS PCR ON PSP.CountryRegionCode=PCR.CountryRegionCode | |
| 23 | JOIN Person.PersonPhone AS PPP ON PP.BusinessEntityID=PPP.BusinessEntityID | |
| 24 | ORDER BY NEWID()--pravi random listu 5 podataka, svaki put nove izlistava | |
| 25 | ||
| 26 | --2. Dodati kategoriju proizvoda i pridružiti joj 3 nova proizvoda čiji dobavljač dolazi iz Bosne i Hercegovine (Categories, Products, Suppliers). | |
| 27 | USE Northwind | |
| 28 | ||
| 29 | SELECT * | |
| 30 | FROM Categories | |
| 31 | ||
| 32 | INSERT INTO Categories | |
| 33 | VALUES('Water','Clean bottled water',NULL)
| |
| 34 | ||
| 35 | SELECT * | |
| 36 | FROM Suppliers | |
| 37 | ||
| 38 | INSERT INTO Suppliers | |
| 39 | VALUES('H20 Supplies','Mike Smith','CEO', 'Wonderstreet 222', 'Sarajevo', NULL,71000,'BiH',NULL,NULL,'http://h20supplies.com')
| |
| 40 | ||
| 41 | SELECT * | |
| 42 | FROM Products | |
| 43 | ||
| 44 | INSERT INTO Products | |
| 45 | VALUES('Mineral water',30,9,'0,5l','3',20,10,10,0),
| |
| 46 | ('Mineral carbonated water',30,9,'0,5l',5,20,10,10,0),
| |
| 47 | ('Mineral water',30,9,'2l','6',20,10,10,0)
| |
| 48 | ||
| 49 | --3. U tabelu Employees dodati 2 zaposlenika iz baze podataka AdventureWorks2012. Voditi računa o kompatibilnosti podataka. | |
| 50 | USE Northwind | |
| 51 | SELECT * | |
| 52 | FROM Employees | |
| 53 | ||
| 54 | USE AdventureWorks2012 | |
| 55 | INSERT INTO Northwind.dbo.Employees | |
| 56 | SELECT TOP 2 PP.LastName, PP.FirstName, HE.JobTitle,PP.Title,HE.BirthDate,HE.HireDate, PA.AddressLine1,Pa.City, PS.StateProvinceCode, PA.PostalCode, PS.CountryRegionCode,PPP.PhoneNumber,NULL,NULL,'nema',NULL,NULL | |
| 57 | FROM HumanResources.Employee AS HE JOIN Person.Person AS PP | |
| 58 | ON HE.BusinessEntityID=PP.BusinessEntityID JOIN Person.BusinessEntityAddress AS PB | |
| 59 | ON PP.BusinessEntityID=PB.BusinessEntityID JOIN Person.Address AS PA | |
| 60 | ON PB.AddressID=PA.AddressID JOIN Person.StateProvince AS PS | |
| 61 | ON PA.StateProvinceID=PS.StateProvinceID JOIN Person.PersonPhone AS PPP | |
| 62 | ON PP.BusinessEntityID=PPP.BusinessEntityID | |
| 63 | ||
| 64 | --4. Dodati novu narudžbu (Orders). Postaviti trenutno vrijeme za datum narudžbe, nekog od kupaca koji je dodan u zadatku 1, te nekog od zaposlenika koji je dodan u zadatku 3. | |
| 65 | -- Za ostale kolone unijeti testne podatke. | |
| 66 | USE Northwind | |
| 67 | SELECT * | |
| 68 | FROM Orders | |
| 69 | ||
| 70 | USE Northwind | |
| 71 | INSERT INTO Orders | |
| 72 | VALUES('SMIMI',10,GETDATE(),'2014/6/26','2014/6/2',3,'20','test','something123','Amsterdam',NULL,73330,'Bosnia')
| |
| 73 | ||
| 74 | --5. Za prethodno dodanu narudžbu dodati detalje (Order Details) uključujući proizvode koji su dodani u zadatku 2. Cijenu, količinu i popust postaviti proizvoljno. | |
| 75 | USE Northwind | |
| 76 | SELECT * | |
| 77 | FROM [Order Details] | |
| 78 | ||
| 79 | USE Northwind | |
| 80 | INSERT INTO [Order Details] | |
| 81 | VALUES(11080,80,6,10,0.20) | |
| 82 | ||
| 83 | --6. Nekom od kupaca dodanih u zadatku 1 izmijeniti broj telefona i fax. | |
| 84 | USE Northwind | |
| 85 | SELECT * | |
| 86 | FROM Customers | |
| 87 | WHERE CustomerID='SMIMI' | |
| 88 | ||
| 89 | USE Northwind | |
| 90 | UPDATE Customers | |
| 91 | SET Phone='033/444-555',Fax='033/444-777' | |
| 92 | WHERE CustomerID='SMIMI' | |
| 93 | ||
| 94 | --7. Izmijeniti cijenu za nova 3 proizvoda. Cijenu umanjiti za 10%. | |
| 95 | USE Northwind | |
| 96 | SELECT * | |
| 97 | FROM Products | |
| 98 | ||
| 99 | USE Northwind | |
| 100 | UPDATE Products | |
| 101 | SET UnitPrice=UnitPrice-(UnitPrice*0.1) | |
| 102 | WHERE ProductID>=82 --kod mene ovo obuhvata zadnja 3 reda (3 nova proizvoda) | |
| 103 | ||
| 104 | --8. Obrisati sve zaposlenike koji nisu uradili niti jednu narudžbu. | |
| 105 | DELETE FROM Employees | |
| 106 | WHERE EmployeeID IN( | |
| 107 | SELECT E.EmployeeID | |
| 108 | FROM Employees AS E LEFT JOIN Orders AS O | |
| 109 | ON E.EmployeeID=O.EmployeeID | |
| 110 | GROUP BY E.EmployeeID | |
| 111 | HAVING COUNT(O.EmployeeID)=0 | |
| 112 | ||
| 113 | ||
| 114 | --9. Obrisati sve kupce koji nisu uradili niti jednu narudžbu. | |
| 115 | USE Northwind | |
| 116 | DELETE FROM Customers | |
| 117 | WHERE CustomerID IN( | |
| 118 | SELECT C.CustomerID | |
| 119 | FROM Customers AS C LEFT JOIN Orders AS O | |
| 120 | ON C.CustomerID=O.CustomerID | |
| 121 | GROUP BY C.CustomerID | |
| 122 | HAVING COUNT(O.CustomerID)=0) | |
| 123 | ||
| 124 | --10. Obrisati narudžbu koja je dodana u zadatku 4 sa detaljima. | |
| 125 | SELECT * | |
| 126 | FROM Orders | |
| 127 | ||
| 128 | DELETE FROM [Order Details] | |
| 129 | WHERE OrderID=11081 | |
| 130 | ||
| 131 | DELETE FROM Orders | |
| 132 | WHERE OrderID=11078 |