Advertisement
Guest User

Untitled

a guest
Dec 12th, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 9.15 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