Advertisement
Guest User

Untitled

a guest
Dec 9th, 2019
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.80 KB | None | 0 0
  1. USE [BD1d_wt_1A]
  2. GO
  3.  
  4. --Wielowartościowe podzapytania niezależne
  5.  
  6. /* 1. Zestawienie zamówień ( ID zamówienia, data zamówienia, IDklienta )
  7. przyjętych od klientów z Francji i Niemiec. */
  8.  
  9. /* 2. Wykaz pracowników ( imię i nazwisko ), których zamówienia nie zostały zrealizowane. */
  10.  
  11. /* 3. Zestawienie produktów ( nazwa produktu ), które nie występowały w niezrealizowanych zamówieniach. */
  12.  
  13. /* 4. Wykaz pracowników ( imię i nazwisko ), których zamówienia nie zostały zrealizowane. */
  14.  
  15. /* 5. Sprawdzić, czy Nancy Davolio i Michael Suyama przyjmowali zamówienia od klientów,
  16. od których kiedykolwiek zamówienia przyjmował Robert King. ( Pracownik, Nazwa firmy )*/
  17.  
  18. --a) wersje z predykatem IN
  19.  
  20. --b) wersje z predykatem SOME
  21.  
  22. --c) wersje z predykatem ANY
  23.  
  24. /* 6. Wyświetlić które produkty i w jakiej ilości (poniżejżej 10 sztuk), były sprzedane przez Margaret Peacock do krajów (kraj odbiorcy),
  25. z których zamówienia przyjmowali Anne Dodsworth lub Andrew Fuller w dniach 3-7. stycznia 1998 roku.
  26. ( kraj odbiorcy, ID produktu, sprzedaż <szt.> ) */
  27.  
  28. /* 7. Jaka jest średnia wartość zamówień dla każdego z pracowników? ( imię, nazwisko, wartość średnia */
  29.  
  30. /* 8. Które firmy złożyły mniejszą niż średnia, liczbę zamówień. ( ID firmy, liczba zamówień, średnia liczba zamówień) */
  31.  
  32.  
  33. --Wielowartościowe podzapytania zależne
  34.  
  35. /* 9. Sporządzić listę zamówień przyjętych przez pracowników w pierwszym tygodniu ich pracy,
  36. tzn. liczonym od daty przyjęcia pierwszego zamówienia.
  37.  
  38. /* 10. Ile zamówień przyjął każdy z pracowników w ostatnich 2 tygodniach przed przyjęciem ostatniego zamówienia?
  39. ( Imię, Nazwisko, Liczba zamówień ) */
  40.  
  41. /* 11. Zamówienia od ilu różnych klientów przyjął każdy z pracowników w ostatnich
  42. trzech tygodniach przed przyjęciem ostatniego zamówienia?
  43. ( Imię, Nazwisko, Liczba klientów ) */
  44.  
  45. /* 12. Którzy pracownicy przyjęli w ostatnim roku przed przyjęciem
  46. ostatniego zamówienia co najmniej cztery zamówienia od tego samego klienta?
  47. ( Imię, Nazwisko, Liczba zamówień, ID klienta ) */
  48.  
  49. /* 13. Ile zamówień przyjęli pracownicy w swoich najlepszych miesiącach sprzedaży?
  50. ( Pracownik, [Wartość sprzedaży], (mm.rrrr) [Najlepszy miesiąc] ) */
  51.  
  52. /* 14. Sporządzić zestawienie wartości sprzedaży wygenerowanej przez poszczególnych pracownicków w ich najlepszych miesiącach sprzedaży?
  53. ( Pracownik, [Wartość sprzedaży], (mm.rrrr) [Najlepszy miesiąc] ) */
  54.  
  55. /* 15. Kiedy złożono zamówienie o największej liczbie pozycji zamówień? Podać datę i numer zamówienia. */
  56. --a) wersja 1 - nieskorelowane podzapytanie skalarne
  57.  
  58. --b) wersja 2 - skorelowane podzapytanie skalarne
  59.  
  60. /* 16. Kto przyjął zamówienie o największej liczbie pozycji zamówień? Podać imię i nazwisko pracownika i numer zamówienia. */
  61. --a) wersja 1 - nieskorelowane podzapytanie skalarne
  62.  
  63. --b) wersja 2 - skorelowane podzapytanie skalarne
  64.  
  65. /* 17 Kto złożył zamówienie o największej wartości? Podać nazwę firmy, kraj odbiorcy oraz wartość zamówienia. */
  66.  
  67. /* 18. W jakich terminach zostały złożone ostatnie zamówienia każdej z firm? Podać nazwę firmy i datę zamówienia. */
  68.  
  69. /* 19. Kiedy każdy z klientów złożył swoje pierwsze zamówienie? Podać nazwy firm, daty pierwszych zamówień i ich wartości. */
  70.  
  71. /* 20. Które produkty były zamawiane jako pierwsze w swoich kategoriach?
  72. Podać nazwy kategorii, nazwy produktów, numery, daty i wielkości ich pierwszych zamówień. */
  73.  
  74. /* 21. W które handlowe poniedziałki nie zamówiono żadnych produktów z kategorii Mięso/Drób.
  75. Podać daty. Napisać zapytanie sprawdzające. */
  76.  
  77. -- Sprawdzenie: wyświetlamy wszystkie poniedziałki, w których sprzedawano produkty z kategorii 'Mięso/Drób'
  78. SELECT CAST(z1.DataZamówienia AS DATE) AS [Data "poniedziałkowa"]
  79. FROM Kategorie AS k JOIN Produkty AS p ON k.IDkategorii = p.IDkategorii
  80. JOIN PozycjeZamówienia As pz ON p.IDproduktu = pz.IDproduktu
  81. JOIN Zamówienia AS z1 ON pz.IDzamówienia = z1.IDzamówienia
  82. WHERE k.NazwaKategorii = 'Mięso/Drób' AND DatePart(DW, DataZamówienia) = 2;
  83.  
  84. /* 22. Z których kategoriii nie wysyłano do USA żadnych produktów w pierwszej dekadzie czerwca 1997 roku?
  85. Podać nazwy tych kategorii. */
  86.  
  87. /* 23. Czy istnieją firmy, które jeszcze nie złożyły żadnego zamówienia? Podać nazwy i kraje. */
  88.  
  89. /* 24. Którzy pracownicy nie przyjęli żadnego zamówienia? Podać identyfikatory, imiona, nazwiska i datę zatrudnienia. */
  90. --a) wersja z predykatem IN
  91.  
  92. --b) wersja z predykatem ALL
  93.  
  94. /* 25. Czy są miasta, w których mieszkają pracownicy oraz mają tam swoje siedziby jacyś klienci? Podać te miasta. */
  95.  
  96. /* 26. Którzy pracownicy mieszkają w miastach, w których mają swoje siedziby jacyś klienci?
  97. Podać identyfikatory pracowników, ich imiona, nazwiska oraz nazwy miast. */
  98.  
  99. /* 27. Jakie były identyfikatory zamówień - pierwszego i ostatniego - przyjętych w ostatnim miesiącu sprzedaży w 1998 rouku.
  100. Podać daty, identyfikatory zamówień i nazwy odbiorców. */
  101.  
  102. /* 28. Czy 13. stycznia 1998 roku zostały przyjęte zamówienia przyjęte przez pracowników,
  103. których nazwiska nie zaczynają się od litery „D”.
  104. Podać identyfikatory i daty tych zamówień oraz imiona i nazwiska tych pracowników. */
  105.  
  106. /* 29. Kiedy klienci, których identyfikatory rozpoczynają się od liter 'A' lub 'K',
  107. złożyli swoje ostatnie zamówienia? Podać identyfikatory klientów, identyfikatory zamówień
  108. i ich daty przyjęcia do realizacji. */
  109.  
  110. /* 30. Czy istnieją dostawcy ze Szwecji, którzy dostarczyli jakiekolwiek produkty.
  111. Podać nazwę i adres dostawcy. */
  112.  
  113. /* 31. Czy istnieją jacyś dostawcy, którzy nie dostarczyli żadnego produktu.
  114. Podać ich nazwy i adresy. */
  115.  
  116. /* 32. Czy istnieją kategorie, którym nie przypisano żadnego produktu?
  117. Podać nazwy tych kategorii. */
  118. --a) wersja z predykatem EXISTS
  119.  
  120. --b) wersja z predykatem IN
  121.  
  122. /* 33. Czy istnieją produkty, których jeszcze nikt nie zamawiał?
  123. Podać nazwy tych produktów. */
  124.  
  125. /* 34. Do jakiej kategorii należą produkty, których jeszcze nikt nie zamawiał?
  126. Podać nazwy tych kategorii. */
  127.  
  128. /* 35. W którym kraju (lub krajach) ma swoje siedziby największa liczba firm?
  129. Podać kraj i liczbę firm. */
  130.  
  131. /* 36. W którym kraju (lub krajach) ma swoje siedziby najmniejsza liczba firm?
  132. Podać kraj i liczbę firm. */
  133.  
  134. /* 37. W którym miesiącu (lub miesiącach) złożono najwięcej zamówień?
  135. Podać lata, miesiące i liczby zamówień. */
  136.  
  137. /* 38. W którym miesiącu (lub miesiącach) złożono najmniej zamówień?
  138. Podać lata, miesiące i liczby zamówień. */
  139.  
  140. /* 39. Którym miesiącu (lub miesiącach) złożono najmniej lub najwięcej zamówień?
  141. Podać lata, miesiące i liczby zamówień. */
  142.  
  143. /* 40. Do ilu kategorii nie przypisano żadnego produktu?
  144. Podać liczbę kategorii. */
  145.  
  146. /* 41. Który produkt (lub produkty) sprzedawał się najlepiej?
  147. Podać nazwy produktów i wartości sprzedanych produktów. */
  148.  
  149. /* 42. Która kategoria produktów sprzedawała sie najgorzej?
  150. Podać nazwę kategorii i wartość przedaży. */
  151.  
  152. /* 43. Która kategoria produktów sprzedawała się najlepiej w poszczególnych latach?
  153. Podać lata, nazwy kategorii i wartości przedaży. */
  154.  
  155. --Sprawdzenie wyniku:
  156. SELECT YEAR(z.DataZamówienia) AS Rok, k.NazwaKategorii AS Kategoria, SUM(pz.Ilość * pz.CenaJednostkowa) [Wartość sprzedaży]
  157. FROM Kategorie AS k JOIN Produkty AS p ON k.IDkategorii = p.IDkategorii
  158. JOIN PozycjeZamówienia AS pz ON p.IDproduktu = pz.IDproduktu
  159. JOIN Zamówienia AS z ON pz.IDzamówienia = z.IDzamówienia
  160. GROUP BY YEAR(z.DataZamówienia), k.NazwaKategorii
  161. ORDER BY Rok, [Wartość sprzedaży] DESC, Kategoria;
  162.  
  163. /* 44. Które produkty przynosiły najmniejszee obroty w poszczególnych latach?
  164. Podać lata, nazwy produktów, kraj dostawcy i wartości przedaży. */
  165.  
  166. --Sprawdzenie wyniku:
  167. SELECT YEAR(z.DataZamówienia) AS Rok, p.NazwaProduktu AS Produkt, d.Kraj AS [Kraj dostawcy], SUM(pz.Ilość * pz.CenaJednostkowa) [Wartość sprzedaży]
  168. FROM Dostawcy AS d JOIN Produkty AS p ON d.IDdostawcy = p.IDdostawcy
  169. JOIN PozycjeZamówienia AS pz ON p.IDproduktu = pz.IDproduktu
  170. JOIN Zamówienia AS z ON pz.IDzamówienia = z.IDzamówienia
  171. GROUP BY YEAR(z.DataZamówienia), p.NazwaProduktu, d.Kraj
  172. ORDER BY Rok, [Wartość sprzedaży] DESC, Produkt;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement