Baza do pobrania: >>TUTAJ<<


Dodatkowe zapytania:
Zapytanie 5:
Wyświetl imię, nazwisko i nazwę stanowiska wszystkich pracowników, których pensja ≤ 4000, posortowane rosnąco po nazwisku.
Zapytanie 6:
Dla każdego stanowiska pokaż nazwę stanowiska, liczbę pracowników i średnią pensję; wyświetl tylko te stanowiska, gdzie średnia pensja > 4500. Posortuj malejąco po średniej pensji.
Zapytanie 7:
Wyświetl imiona, nazwiska i pensje pracowników, których pensja jest wyższa od średniej pensji całej firmy.
Zapytanie 8:
Nadaj każdemu pracownikowi pozycję w rankingu pensji w obrębie jego stanowiska (rank od najwyższej pensji = 1). Wyświetl: imie, nazwisko, stanowisko, pensja, rank_in_stanowisku. (Użyj funkcji okna)
Zapytanie 9:
Zaktualizuj kolumnę minPensja w tabeli stanowiska, ustawiając ją na zaokrągloną w dół wartość średniej pensji dla danego stanowiska (AVG rounded down). (Użyj jednego zapytania UPDATE z JOIN).
Zapytanie 10:
Dla każdego stanowiska znajdź pracownika (lub pracowników, gdy jest remis), który ma największy staż (staz). Wyświetl: nazwa stanowiska, imię, nazwisko, staz. (Użyj korelowanego podzapytania lub CTE).
CTE (Common Table Expression) — czyli WYRAŻENIE WSPÓLNE
To część zapytania tworzona na początku i nazwana, którą możesz potem wykorzystać wielokrotnie.
Korelowane podzapytanie (correlated subquery) — co to?
To podzapytanie wewnątrz WHERE, które odnosi się do wartości z zapytania nadrzędnego.
Mówi się, że jest „korelowane”, bo każdy wiersz z zewnętrznego zapytania wpływa na wykonanie podzapytania.
Podpowiedź 5:
Użyj JOIN do pobrania stanowiska, filtruj pensja <= 4000, na końcu ORDER BY.
Podpowiedź 6:
GROUP BY po stanowiskach, policz COUNT i AVG, a potem odfiltruj HAVING AVG(…) > 4500.
Podpowiedź 7:
W WHERE użyj podzapytania: pensja > (SELECT AVG(…)).
Podpowiedź 8:
Użyj funkcji okna: RANK() OVER (PARTITION BY stanowiska ORDER BY pensja DESC).
Podpowiedź 9:
Najpierw policz średnią pensję w podzapytaniu, potem UPDATE stanowiska … JOIN (…).
Podpowiedź 10:
Porównaj staż pracownika z MAX(staz) dla stanowiska — użyj korelowanego podzapytania.