Zadanie bazy - Team

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.

Kontakt: mgzsp22@gmail.com

© 2025. Wszystkie prawa zastrzeżone.

error: Content is protected !!