Archiwa tagu: year

db HOTELS 1. Lista hoteli z podziałem na ilość gwiazdek.

SQL tutorial. db Hotels exercises. SQL SERVER.

Baza: Hotele/Hotels

Zadanie nr: 1

Treść:  Wyświetl listę hoteli z podziałem na ilość gwiazdek.

Polecenia/funkcje w zapytaniu: SELECT, FROM, CASE, COUNT(), GROUP BY


  SQL tutorial. AdventureWorks exercises SQL SERVER SQL tutorial. AdventureWorks exercises SQL SERVER


Rozwiązanie:

Zapytanie:

   SELECT
    CASE    
        WHEN hotel_stars = 1 THEN '1 gwiazdka'
        WHEN hotel_stars = 2 THEN '2 gwiazdki'
        WHEN hotel_stars = 3 THEN '3 gwiazdki'
        WHEN hotel_stars = 4 THEN '4 gwiazdki'
        WHEN hotel_stars = 5 THEN '5 gwiazdek'
    END AS Liczba_gwiazdek
    ,COUNT(*) AS Liczba_hoteli

FROM
    hotels
        
GROUP by
    hotel_stars

Wynik:

SQL tutorial. db Hotels exercises. SQL SERVER.

Pobierz skrypt sql


  SQL tutorial. AdventureWorks exercises SQL SERVER SQL tutorial. AdventureWorks exercises SQL SERVER


 

Adventureworks 40. Wyświetl zamówienia (najmniejsza i największa wartość + ich suma)

SQL tutorial. AdventureWorks exercises. SQL SERVER.

Baza: AdventureWorks

Zadanie nr: 40

Treść:  Wyświetl zamówienia (najmniejsza i największa wartość). Użyj tabeli tymczasowej.

Polecenia/funkcje w zapytaniu: SELECT, FROM, CREATE TABLE, INSERT INTO, UNION ALL, SUM(), Tabela tymczasowa


SQL tutorial. AdventureWorks exercises SQL SERVER  SQL tutorial. AdventureWorks exercises SQL SERVER


Rozwiązanie:

Zapytanie:

  

— Tworzymy tabelę tymczasową do zapisu wyników poszczególnyc zapytań
CREATE TABLE #tymczasowa(
     info varchar(40)
    ,wartosc money
)

— Znajdujemy zamówienie o najmniejsze wartości
— i wrzucamy wynik do tabeli tymczasowej

INSERT INTO #tymczasowa
        SELECT
             'Zamówienie o najmniejszej wartości'
            ,MIN(O.SubTotal)
        FROM
            Sales.SalesOrderHeader O    

— Znajdujemy zamówienie o największej wartości
— i wrzucamy wynik do tabeli tymczasowej

INSERT INTO #tymczasowa
        SELECT
             'Zamówienie o największej wartości'
            ,MAX(O.SubTotal)
        FROM
            Sales.SalesOrderHeader O

— prezentujemy wynik
SELECT
    *
FROM
    #tymczasowa    

UNION ALL                

SELECT
     'SUMA'
    ,SUM(#tymczasowa.wartosc)
FROM
    #tymczasowa    

— opcjonalnie możemy usunąć tablę tymczasową    
DROP TABLE #tymczasowa   

Wynik:

SQL tutorial. AdventureWorks exercises. SQL SERVER.

Pobierz skrypt sql


SQL tutorial. AdventureWorks exercises SQL SERVER  SQL tutorial. AdventureWorks exercises SQL SERVER


 

Adventureworks 39. Pracownicy pogrupowani wg dat zatrudnienia.

SQL tutorial. AdventureWorks exercises. SQL SERVER.

Baza: AdventureWorks

Zadanie nr: 39

Treść:  Pracownicy pogrupowani wg dat zatrudnienia.

Polecenia/funkcje w zapytaniu: SELECT, FROM, ORDER BY, GROUP BY, YEAR(), COUNT()


SQL tutorial. AdventureWorks exercises SQL SERVER  SQL tutorial. AdventureWorks exercises SQL SERVER SQL tutorial. AdventureWorks exercises SQL SERVER


Rozwiązanie:

Zapytanie:

    SELECT
     SQ.GRUPA AS Grupa
    ,COUNT(*) AS LiczbaPracowników
FROM
    (    
        SELECT
             YEAR(E.HireDate) AS Rok
            ,(CASE
                WHEN YEAR(E.HireDate) < 2000
                    THEN '1. Zatrudnieni przed 2000 r.'
                WHEN (YEAR(E.HireDate) >= 2000 AND YEAR(E.HireDate) <= 2005)
                    THEN '2. Zatrudnieni pomiędzy 2000-2005 r.'
                WHEN YEAR(E.HireDate) > 2005
                    THEN '3. Zatrudnieni po 2005 r.'
            END)AS GRUPA                
        FROM
            HumanResources.Employee E            
    )AS SQ
GROUP BY
    SQ.GRUPA    
ORDER BY
    1

Wynik:

SQL tutorial. AdventureWorks exercises. SQL SERVER.

Pobierz skrypt sql


SQL tutorial. AdventureWorks exercises SQL SERVER  SQL tutorial. AdventureWorks exercises SQL SERVER SQL tutorial. AdventureWorks exercises SQL SERVER


 

Adventureworks 38. Zaprezentuj zestawienie sprzedaży w latach (liczba zamówień, wartość zamówień).

SQL tutorial. AdventureWorks exercises. SQL SERVER.

Baza: AdventureWorks

Zadanie nr: 38

Treść:  Zaprezentuj zestawienie sprzedaży w latach (liczba zamówień, wartość zamówień).

Polecenia/funkcje w zapytaniu: SELECT, FROM, ORDER BY, GROUP BY, YEAR(), COUNT(), SUM()


SQL tutorial. AdventureWorks exercises SQL SERVER  SQL tutorial. AdventureWorks exercises SQL SERVER SQL tutorial. AdventureWorks exercises SQL SERVER


Rozwiązanie:

Zapytanie:

    SELECT
     YEAR(O.OrderDate) AS Rok
    ,COUNT(*) AS LiczbaZamowien
    ,SUM(O.SubTotal) AS WartoscZamowien
FROM    
    Sales.SalesOrderHeader O    
GROUP BY
    YEAR(O.OrderDate)
ORDER BY
    1,2 DESC,3 DESC   

Wynik:

SQL tutorial. AdventureWorks exercises. SQL SERVER.

Pobierz skrypt sql


SQL tutorial. AdventureWorks exercises SQL SERVER  SQL tutorial. AdventureWorks exercises SQL SERVER SQL tutorial. AdventureWorks exercises SQL SERVER


 

Adventureworks 37. Oblicz i wyświetl wartość pierwszego i ostatniego zamówienia.

SQL tutorial. AdventureWorks exercises. SQL SERVER.

Baza: AdventureWorks

Zadanie nr: 37

Treść:  Oblicz i wyświetl wartość pierwszego i ostatniego zamówienia.

Polecenia/funkcje w zapytaniu: SELECT, SELECT TOP, FROM, ORDER BY, GROUP BY, JOIN, SUM()


SQL tutorial. AdventureWorks exercises no.36. SQL SERVER.  SQL tutorial. AdventureWorks exercises no.34. SQL SERVER. SQL tutorial. AdventureWorks exercises SQL SERVER.  SQL tutorial. AdventureWorks exercises no.36. SQL SERVER.  SQL tutorial. AdventureWorks exercises no.34. SQL SERVER. SQL tutorial. AdventureWorks exercises SQL SERVER. SQL tutorial. AdventureWorks exercises no.36. SQL SERVER.  SQL tutorial. AdventureWorks exercises no.34. SQL SERVER. SQL tutorial. AdventureWorks exercises SQL SERVER.


Rozwiązanie:

Pomocniczy schemat

Adventureworks 37. Oblicz i wyświetl wartość pierwszego i ostatniego zamówienia.

Zapytanie:

    SELECT
         'Pierwsze zamówienie' AS Info
        ,SUM(OD.OrderQty*OD.UnitPrice)AS Wartosc
    FROM    
        (
        SELECT TOP 1 O.SalesOrderID
        FROM Sales.SalesOrderHeader O
        ORDER BY O.OrderDate, SalesOrderID
        ) AS SQ
        JOIN Sales.SalesOrderHeader OH ON SQ.SalesOrderID = OH.SalesOrderID
        JOIN Sales.SalesOrderDetail OD ON SQ.SalesOrderID = OD.SalesOrderID
    GROUP BY
        OH.SalesOrderID

    UNION ALL

       SELECT
         'Ostatnie zamówienie' AS Info
        ,SUM(OD.OrderQty*OD.UnitPrice)AS Wartosc
    FROM    
        (
        SELECT TOP 1 O.SalesOrderID
        FROM Sales.SalesOrderHeader O
        ORDER BY O.OrderDate DESC, SalesOrderID DESC
        ) AS SQ
        JOIN Sales.SalesOrderHeader OH ON SQ.SalesOrderID = OH.SalesOrderID
        JOIN Sales.SalesOrderDetail OD ON SQ.SalesOrderID = OD.SalesOrderID
    GROUP BY
        OH.SalesOrderID

Wynik:

SQL tutorial. AdventureWorks exercises. SQL SERVER.

Pobierz skrypt sql


SQL tutorial. AdventureWorks exercises no.36. SQL SERVER.  SQL tutorial. AdventureWorks exercises no.34. SQL SERVER. SQL tutorial. AdventureWorks exercises SQL SERVER.  SQL tutorial. AdventureWorks exercises no.34. SQL SERVER.  SQL tutorial. AdventureWorks exercises no.34. SQL SERVER. SQL tutorial. AdventureWorks exercises SQL SERVER. SQL tutorial. AdventureWorks exercises no.36. SQL SERVER.  SQL tutorial. AdventureWorks exercises no.34. SQL SERVER. SQL tutorial. AdventureWorks exercises SQL SERVER.


 

Adventureworks 36. Jak prezentowała się liczba zamówień w poszczególnych latach dla sklepu „Twin Cycles”

SQL tutorial. AdventureWorks exercises. SQL SERVER.

Baza: AdventureWorks

Zadanie nr: 36

Treść:  Jak prezentowała się liczba zamówień w poszczególnych latach dla sklepu "Twin Cycles". Liczbe zamówień pogrupuj wg lat rosnąco.

Polecenia/funkcje w zapytaniu: SELECT, FROM, WHERE, GROUP BY, YEAR(), COUNT()


SQL tutorial. AdventureWorks exercises no.36. SQL SERVER.  SQL tutorial. AdventureWorks exercises no.34. SQL SERVER. SQL tutorial. AdventureWorks exercises SQL SERVER.  SQL tutorial. AdventureWorks exercises no.36. SQL SERVER.  SQL tutorial. AdventureWorks exercises no.34. SQL SERVER. SQL tutorial. AdventureWorks exercises SQL SERVER. SQL tutorial. AdventureWorks exercises no.36. SQL SERVER.  SQL tutorial. AdventureWorks exercises no.34. SQL SERVER. SQL tutorial. AdventureWorks exercises SQL SERVER.


Rozwiązanie:

Pomocniczy schemat

Adventureworks 36. Jak prezentowała się liczba zamówień w poszczególnych latach dla sklepu "Twin Cycles"

Zapytanie:

SELECT
     S.Name AS NazwaSklepu
    ,YEAR(O.OrderDate) AS Rok
    ,COUNT(*) AS IloscZamowien
FROM
    Sales.SalesOrderHeader O
    JOIN Sales.Customer C ON O.CustomerID = C.CustomerID
    JOIN Sales.Store S ON C.StoreID = S.BusinessEntityID
WHERE
    S.Name = 'Twin Cycles'        
GROUP BY
    S.Name, YEAR(O.OrderDate)

Wynik:

SQL tutorial. AdventureWorks exercises. SQL SERVER.

Pobierz skrypt sql


SQL tutorial. AdventureWorks exercises no.36. SQL SERVER.  SQL tutorial. AdventureWorks exercises no.34. SQL SERVER. SQL tutorial. AdventureWorks exercises SQL SERVER.  SQL tutorial. AdventureWorks exercises no.34. SQL SERVER.  SQL tutorial. AdventureWorks exercises no.34. SQL SERVER. SQL tutorial. AdventureWorks exercises SQL SERVER. SQL tutorial. AdventureWorks exercises no.36. SQL SERVER.  SQL tutorial. AdventureWorks exercises no.34. SQL SERVER. SQL tutorial. AdventureWorks exercises SQL SERVER.