Tagi: Northwind

Zadanie 13.

Stwórz kwerendę, która zwraca w wyniku listę numerów zamówień, uporządkowanych rosnąco. Nas jednak interesują tylko pozycje od 25 do 50 z tej listy.

Baza: Northwind, Tabela: Orders, Kolumny: OrderID, Wynik: 25 rows

18

Rowziązanie

SELECT OrderID
FROM dbo.Orders
ORDER BY OrderID
OFFSET 24 ROWS FETCH NEXT 25 ROWS ONLY;

[collapse]

Zadanie 12.

Napisz kwerendę, która zwróci listę państw, do których dostarczono zamówienia w 1997 roku (nazwy państw nie mogą się powtarzać).

Baza: Northwind, Tabela: dbo.Orders, Kolumny: ShipCountry, ShippedDate, Wynik: 21 rows

17

Rozwiązanie

SELECT DISTINCT ShipCountry

FROM dbo.[Orders]

WHERE YEAR(ShippedDate) = '1997';

[collapse]

Zadanie 11.

Oblicz, ile było zamówień na towary każdej kategorii w skali każdego roku.

Baza: Northwind, Tabele: dbo.Orders, dbo.Order Details, dbo.Products, dbo.Categories, Kolumny: OrderDate, CategoryName, OrderID, Wynik: 24 rows

16

Rozwiązanie

SELECT YEAR(O.OrderDate) as Rok, C.CategoryName, Count(O.OrderID) as Zamowienia FROM dbo.Orders as O

JOIN dbo.[Order Details] as OD on O.OrderID = OD.OrderID

JOIN dbo.Products as P on P.ProductID = OD.ProductID

JOIN dbo.Categories as C on C.CategoryID = P.CategoryID

GROUP BY C.CategoryName, YEAR(O.OrderDate)

ORDER BY Rok, C.CategoryName;

[collapse]

Zadanie 9.

Oblicz wiek pracowników, wynik posortuj według wieku malejąco.

Baza: Northwind, Tabela: dbo.Employees, Kolumny: FirstName, LastName, BirthDate, Wynik: 9 rows

13

Rozwiązanie

SELECT FirstName, LastName, DATEDIFF(year, BirthDate, CURRENT_TIMESTAMP) as Wiek
FROM dbo.Employees
ORDER BY Wiek DESC;

Można również użyć funkcji GETDATE() zamiast CURRENT_TIMESTAMP

[collapse]

Zadanie 7.

Pokaż wszystkich pracowników zatrudnionych w 1993 roku.

Baza: Northwind, Tabela: dbo.Employees, Kolumny: FirstName, LastName, HireDate, Wynik: 3 rows

11

Rozwiązanie

SELECT FirstName, LastName, HireDate
FROM dbo.Employees
WHERE YEAR(HireDate) = '1993'

— inna wersja: WHERE HireDate >= ‚19930101’ AND HireDate < ‚19940101’;

[collapse]

Zadanie 6.

Dla zamówień o numerach 10250, 10657, 10710 i 10901 policz, ile produktów zawiera każde z nich, oblicz średnią cenę produktu i podaj kraj, do którego zostało dostarczone.

Baza: Northwind, Tabela: dbo.Order Details, dbo.Orders, Kolumny:  OrderID, UnitPrice, Quantity, ShipCountry, Wynik: 4 rows

10

Rozwiązanie

SELECT O.OrderID, COUNT(*) as Produkty, AVG(OD.UnitPrice*OD.Quantity) as Srednia, O.ShipCountry
FROM dbo.[Order Details] as OD
JOIN dbo.Orders as O on OD.OrderID = O.OrderID
GROUP BY O.OrderID, O.ShipCountry
HAVING O.OrderID IN(10250, 10657, 10710, 10901);

[collapse]
« Starsze wpsiy Recent Entries »