Laboratorium 4
Napisz zapytanie SQL do bazy danych HR
, które spowoduje wyświetlenie:
- Nazwisk pracowników (
last_name
), wszystkich nazw działów (department_name
) oraz wszystkich miast (city
), w których mogą pracować (OUTER JOIN
, tabeleemployees
,departments
orazlocations
-> 138 rows, 3 columns) - Nazw działów (
department_name
), które zatrudniają ponad 5 pracowników wraz z ilościami pracowników, którzy w nich pracują, wykorzystując klauzulęNATURAL JOIN
(HAVING
, tabeledepartments
orazemployees
-> 2 rows, 2 columns) - Nazw działów (
department_name
), które zatrudniają ponad 5 pracowników wraz z ilościami pracowników, którzy w nich pracują, nie wykorzystując klauzuliNATURAL JOIN
(HAVING
, tabeledepartments
orazemployees
-> 4 rows, 2 columns) - Nazwisk pracowników (
last_name
) oraz ich wypłat (salary
) wyrażone w procentach wartości środkowej płacy ustalonej dla danego stanowiska, zaokrąglone do wartości całkowitych. Posortuj wyniki malejąco po wartościach procentowych. (kolumnymin_salary
orazmax_salary
w tabelijobs
to minimalne oraz maksymalne płace ustalone dla każdego stanowiska) (ROUND
, tabeleemployees
orazjobs
-> 107 rows, 2 columns) - [*] Nazw działów (
department_name
), w których pracuje co najmniej dwóch pracowników, którzy zarabiają ponad 80% maksymalnej płacy ustalonej na swoim stanowisku (max_salary
), wraz z ilościami pracowników spełniającymi to kryterium. (tabeleemployees
,departments
orazjobs
-> 3 rows, 2 columns) - [*] Nazw działów (
department_name
), ilości pracowników, którzy w nich pracują oraz rozpiętości płac (salary
), wyrażone w procentach zaokrąglonych do dwóch miejsc po przecinku. (tabeleemployees
orazdepartments
-> 11 rows, 3 columns) (small tip: rozpiętość szeregu wartości liczymy ze wzorku: (MAX-MIN)/(AVG2), gdzie MAX to największa wartość w szeregu, MIN to najmniejsza wartość w szeregu, a AVG to średnia wartość wszystkich w szeregu - w tym wypadku są to funkcje na kolumniesalary
)* - [**] Nazwisk pracowników (
last_name
) i dat ich zatrudnienia (hire_date
), którzy zostali zatrudnieni wcześniej, niż pracownik o numerze123
. (tabelaemployees
-> 47 rows, 2 columns) (uwaga! trzeba użyć podzapytania (ang. nested query), nie było tego jeszcze na laboratorium.)