Advertisement
almina-basic

[BP II] zad

Apr 15th, 2019
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 3.99 KB | None | 0 0
  1. USE NORTHWND
  2. GO
  3.  
  4. --1.    Prikazati sve kupce koji dolaze iz Njemačke ili Švedske, a imaju unesen fax.
  5.  
  6. SELECT CustomerID, Country, Fax
  7. FROM Customers
  8. WHERE Country IN ('Germany','Sweden') AND Fax IS NOT NULL
  9.  
  10. --2.    Prikazati kupce kojima CompanyName počinje slovom 'M' ili ContactName počinje slovom 'M'.
  11.  
  12. SELECT CompanyName, ContactName
  13. FROM Customers
  14. WHERE CompanyName LIKE 'M%' OR ContactName LIKE 'M%'
  15.  
  16.  
  17. --3.    Prikazati sve narudžbe koje su obavljene u 7 mjesecu 1997 godine.
  18.  
  19. SELECT OrderID, OrderDate
  20. FROM Orders
  21. WHERE DATEPART(MONTH,OrderDate)=7 AND DATEPART(YEAR,OrderDate)=1997
  22.  
  23.  
  24. --4.    Prikazati sve proizvode koji su skuplji od 20 KM.
  25.  
  26. SELECT ProductID, ProductName, UnitPrice
  27. FROM Products
  28. WHERE UnitPrice > 20
  29.  
  30.  
  31. --5.    Koliko je svaki zaposlenik uradio narudžbi?
  32.  
  33. SELECT E.EmployeeID, COUNT(O.OrderID)
  34. FROM Employees AS E INNER JOIN Orders AS O
  35. ON E.EmployeeID=O.EmployeeID
  36. GROUP BY E.EmployeeID
  37.  
  38.  
  39. --6.    Prikazati 5 kupaca koji su imali najviše narudžbi.
  40.  
  41. SELECT TOP 5 C.CustomerID, COUNT(O.OrderID)
  42. FROM Customers AS C INNER JOIN Orders  AS O
  43. ON C.CustomerID=O.CustomerID
  44. GROUP BY C.CustomerID
  45. ORDER BY 2 DESC
  46.  
  47.  
  48. --7.    Prikazati kupca koji je utrošio najviše novca u 7 mjesecu 1997. godine.
  49.  
  50.  
  51. SELECT TOP 1 C.ContactName,SUM(O.Freight) AS 'Novac' , O.OrderDate
  52. FROM Customers AS C INNER JOIN Orders AS O
  53. ON C.CustomerID=O.CustomerID
  54. WHERE DATEPART(MONTH,O.OrderDate)=7 AND DATEPART(YEAR,O.OrderDate)=1997
  55. GROUP BY C.ContactName,O.OrderDate
  56. ORDER BY 2 DESC
  57.  
  58. --8.    Prikazati navjernijeg kupca koji dolazi iz Njemačke.
  59. --Najvjerniji kupac je onaj koji je utrošio najviše novca.
  60.  
  61.  
  62. SELECT TOP 1 C.ContactName, SUM(O.Freight) AS 'Novac', C.Country
  63. FROM Customers AS C INNER JOIN Orders AS O
  64. ON C.CustomerID=O.CustomerID
  65. WHERE C.Country = 'Germany'
  66. GROUP BY C.ContactName, C.Country
  67. ORDER BY 2 DESC
  68.  
  69.  
  70. --9.    Prikazati dobavljace koji dolaze iz Japana i ukupan broj proizvoda koji se naručuje od njih.
  71.  
  72.  
  73. SELECT S.CompanyName, S.Country, COUNT(P.UnitsOnOrder) AS 'Broj proizvoda'
  74. FROM Suppliers AS S  
  75. INNER JOIN Products AS P ON S.SupplierID=P.SupplierID
  76. WHERE S.Country='Japan'
  77. GROUP BY S.CompanyName, S.Country
  78.  
  79.  
  80. --10.   Kreirati upit koji nam prikazuje kategorije proizvoda i proizvode zajedno sa
  81. --cijenom pojedinog proizvoda po komadu. Uslovi su: kategorija proizvoda u svome
  82. --nazivu posjeduje dio rijeći „food“ ili ime proizvoda počinje sa slovom T.
  83. --Takoðer, cijena proizvoda po komadu treba biti veća od 60.
  84.  
  85.  
  86. SELECT C.CategoryName,P.ProductName,P.UnitPrice
  87. FROM Categories AS C  
  88. INNER JOIN Products AS P ON C.CategoryID=P.CategoryID
  89. WHERE (C.CategoryName LIKE '%food%' OR P.ProductName LIKE 'T%') AND P.UnitPrice>60
  90.  
  91.  
  92. /*11.   Kreirati upit koji će prikazati proizvode koji pripadaju kategoriji „Confections“.
  93.  Takoðer, upit treba da prikaže podatke o dobavljaču: naziv dobavljača, adresa i broj telefona.
  94.  Uslovi koji se trebaju zadovoljiti su:
  95. a)  Stanje proizvoda na zalihama manje od 30 komada, i
  96. b)  Dobavljač dolazi iz Manchestera ili Berlina. */
  97.  
  98.  
  99. SELECT C.CategoryName, S.CompanyName,S.Address,S.Phone,P.UnitsInStock, S.City
  100. FROM Categories AS C  
  101. INNER JOIN Products AS P ON C.CategoryID=P.CategoryID
  102. INNER JOIN Suppliers AS S ON S.SupplierID=P.SupplierID
  103. WHERE C.CategoryName LIKE '%confections%' AND P.UnitsInStock < 30 AND S.City IN ('Manchester','Berlin')
  104.  
  105.  
  106.  
  107. --12.   Kreirati upit koji prikazuje ukupan iznos popusta koji je dat za svaki pojedini proizvod.
  108.  
  109.  
  110. SELECT P.ProductName, OD.Discount
  111. FROM Products AS P
  112. INNER JOIN [Order Details] AS OD ON P.ProductID=OD.ProductID
  113.  
  114.  
  115. /*13.   Prikazati ime i prezime zaposlenika (spojeno), te broj narudžbi koje su napravili.
  116. Uslovi su sljedeći:
  117. a)  Zaposlenici dolaze iz Londona, ili
  118. b)  Broj narudžbi manji od 100.*/
  119.  
  120. SELECT E.FirstName+' ' +E.LastName AS 'Ime i prezime', COUNT(O.OrderID) AS 'Broj narudzbi'
  121. FROM Employees AS E
  122. INNER JOIN Orders AS O ON  E.EmployeeID=O.EmployeeID
  123. WHERE E.City LIKE 'London'
  124. GROUP BY E.FirstName,E.LastName
  125. HAVING COUNT(O.OrderID) < 100
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement