Zbiór zadań z SQL Serwer poziom I

Ćwiczenie 1. Wyświetl pracowników i ich przełożonych.

W tym zadaniu należy wykorzystać, tzw. samozłączenie. Jest to operacja polegająca na połączeniu tabeli z samą sobą przy użyciu dwóch różnych kolumn : EmployeeID oraz ReportsTo. Kolumny, które wykorzystujemy do tego typu złączeń muszą być tego samego typu (liczba – liczba, tekst-tekst, itd.)

Niezbędne jest tutaj użycie aliasów tabeli

 

select e.lastName+' '+ e.FirstName as Przełożony, m.LastName+' '+ m.FirstName as Przcownik 
from Employees e inner join Employees m on e.EmployeeID=m.ReportsTo;

Druga wersja tego zadania:

select e.lastName+' '+ e.FirstName as Przełożony, m.LastName+' '+ m.FirstName as Przcownik 
from Employees e right join Employees m on e.EmployeeID=m.ReportsTo;

 

Ćwiczenie 2. Utwórz widok z zapytania: kto co kupił, ile zapłacił i kiedy.

Widoki powinny być tworzone jako pierwsza instrukcja w edytorze SQL Serwer Management Studio, lub poprzednie instrukcje powinny być „zakomentowane”.

 

create view vSprzedaz as (
select CompanyName, ProductName, d.UnitPrice*Quantity*(1-Discount) as Total  , OrderDate from Customers c inner join Orders o on c.CustomerID=o.CustomerID
inner join [Order Details] d on o.OrderID=d.OrderID
inner join Products p  on d.ProductID=p.ProductID
)
;

Uwagi dotyczące widoków:

  1. Instrukcja SELECT, z którego powstaje widok nie może używać sortowania wierszy (ORDER BY)
  2. Wszystkie kolumny  muszą być nazwane, czyli nie można zostawić wyrażenia obliczeniowego bez aliasu.
  3. Na widoku nie można użyć poleceń DML : INSERT DELETE, UPDATE. Chyba, że ten widok jest tylko z jednej tabeli i nie użyto żadnej funkcji i wyrażeń obliczeniowych
Przewijanie do góry