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,departmentsorazlocations-> 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, tabeledepartmentsorazemployees-> 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, tabeledepartmentsorazemployees-> 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_salaryorazmax_salaryw tabelijobsto minimalne oraz maksymalne płace ustalone dla każdego stanowiska) (ROUND, tabeleemployeesorazjobs-> 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,departmentsorazjobs-> 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. (tabeleemployeesorazdepartments-> 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.)