Advertisement
limun11

BPII - LAB2

Jun 1st, 2017
580
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 4.11 KB | None | 0 0
  1. /* 1. Prikazati ime kompanije kupca, grad i fax. Uslov je da kupci u svome imenu posjeduju riječ 'Restaurant' ili dolaze iz Madrida.
  2. Takodjer, uslov je da kupci imaju unesen fax. Listu sortirati abacedeno po imenu kompanije. (northwind - 5 zapisa)*/
  3. SELECT CompanyName AS 'Ime kompanije', City AS 'Grad', Fax
  4. FROM Customers
  5. WHERE (CompanyName LIKE '%Restaurant%' OR City='Madrid') AND Fax IS NOT NULL
  6.  
  7. /* 2. Prikazati dobavljače koji dolaze iz Njemačke ili Francuske a njihovo ime kompanije
  8. počinje slovima A, E ili P. Upit napisati na 2 načina. (Northwind - 3 zapisa)*/
  9. --1
  10. SELECT CompanyName, Country
  11. FROM Suppliers
  12. WHERE (Country='Germany' OR Country='France') AND (CompanyName LIKE 'A%' OR CompanyName LIKE 'E%' OR CompanyName LIKE 'P%')
  13.  
  14. --2
  15. SELECT CompanyName, Country
  16. FROM Suppliers
  17. WHERE Country IN ('Germany', 'France') AND CompanyName LIKE '[AEP]%'
  18.  
  19. /* 3. Prikazati naslov djela, tip djela i cijenu. Kao novu kolonu dodati cijenu s popustom od 20%.
  20. Uslov je da nova cijena (sa popustom) bude između 10 i 20. Listu sortirati abecedno po tipu djela,
  21. te po novoj cijeni opadajućim redoslijedom. (Pubs - 9 zapisa)*/
  22. USE pubs
  23. GO
  24. SELECT title AS Nalov, type AS 'Tip djela', price AS Cijena, price- (price*0.2) AS 'Cijena s popustom'
  25. FROM titles
  26. WHERE price- (price*0.2) BETWEEN 10 AND 20
  27. ORDER BY [Tip djela], [Cijena s popustom] DESC
  28.  
  29. /* 4. Prikazati minimalnu, prosječnu i maksimalnu cijenu proizvoda. (adventureworks)*/
  30. USE AdventureWorks2014
  31. GO
  32. SELECT MIN(ListPrice) AS Minimalna, AVG(ListPrice) AS Prosjecna, MAX(ListPrice) AS Maksimalna
  33. FROM Production.Product
  34.  
  35.  
  36. /* 5. Potrebno je prikazati 10 najprodavanijih proizvoda i zaradu od prodaje proizvoda. (adv.)*/
  37. SELECT TOP 10 ProductID, SUM(OrderQty) AS Kolicina, SUM(OrderQty*UnitPrice) AS Zarada
  38. FROM Sales.SalesOrderDetail
  39. GROUP BY ProductID
  40. ORDER BY Kolicina DESC
  41. /*Modifikovati prethodni upit tako da se prikaze samo zarada po proizvodu, ali gdje je zarada veca id 30.000. ()*/
  42. SELECT SUM(OrderQty*UnitPrice) AS Zarada
  43. FROM Sales.SalesOrderDetail
  44. GROUP BY ProductID
  45. HAVING SUM(OrderQty*UnitPrice) > 30000
  46.  
  47.  
  48. /* 6. Prikazati broj proizvoda po kategoriji. Listu sortirati opadajucim redoslijedom po broju proizvoda.
  49. Prikazati samo 10 kategorija. Također, provjeriti da li ima kategorija koji imaju isti broj proizvoda kao ona na 10. mjestu.
  50. (adv.)*/
  51. SELECT TOP 10 WITH TIES ProductCategoryID, COUNT (ProductCategoryID) AS 'Broj proizvoda'
  52. FROM Production.ProductCategory
  53. GROUP BY ProductCategoryID
  54. ORDER BY [Broj proizvoda] DESC
  55.  
  56. /* 7. Kreirati poruku dobrodoslice za kupce u sljedecem formatu (adv.)
  57. Dobrodosli, ime Prezime, trenutno vrijeme je: 09:45 (trenutno vrijeme). */
  58. --1
  59. SELECT 'Dobrodosli, ' + FirstName + ' ' + LastName + ' trenutno vrijeme je: ' + RIGHT(CONVERT(nvarchar(20), GETDATE()), 7)
  60. FROM Person.Person
  61.  
  62. --2
  63. SELECT 'Dobrodosli, ' + FirstName + ' ' + LastName + ' trenutno vrijeme je: '
  64. + CONVERT(nvarchar(2), DATEPART(HOUR, GETDATE())) + ':' +CONVERT (nvarchar (2), DATEPART(MINUTE ,GETDATE()))
  65. FROM Person.Person
  66.  
  67. /* 8. Kompanija je odlučila da svojim zaposlenicima dodijeli mail adrese. Za tu svrhu će iskoristiti
  68. postojeće podatke iz baze podataka. Izlaz treba biti u formatu tri nove kolone: email, lozinka, starost zaposlenika. (northwind)
  69.  
  70. Email se formira od podataka u kolonama: lastName, firstName, City i to sl formatu:
  71. lastName.firstName@city.com (sve malim slovima)
  72.  
  73. lozinka se formira od podatka iz kolona: notes, title i adress na sl nacin:
  74. spajanjem kolona(notes, title, adress) sl korak jeste da se sadrzaj spajanja
  75. okrene obrnuto (npr dmbs2013 - 3102smbd)
  76. nakon tiga iz dobivenog stringa oreskačemo prvih 10 karaktera i uzimamo sl 15. na pojedinim mjestima ce se pojaviti razmak,
  77. isti je potrebno zamijeniti sa znakom #. uzeti zadnjih 8 karaktera.
  78.  
  79. starost se formira na osnovu kolone birthDate i trenutnog datuma.*/
  80. USE Northwind
  81. Go
  82. SELECT LOWER(LastName) + '.' + LOWER(FirstName) + '@' + LOWER(City) + '.com' AS email,
  83.         RIGHT(REPLACE(SUBSTRING(REVERSE(CONVERT(nvarchar(MAX),Notes) +Title + Address),10,15), ' ', '#'),8) AS Lozinka,
  84.         DATEDIFF(YEAR, BirthDate, GETDATE()) AS Starost
  85. FROM [dbo].[Employees]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement