9. Podzapytania 🤔 - ritaly/wprowadzenie-do-sql GitHub Wiki
Każde zapytanie wybierające jakieś dane zaczynaliśmy od słowa SELECT
.
Koncepcja podzapytań jest podobna - wykorzystujemy funkcję wewnątrz funkcji, aby otrzymać bardziej złożone zapytanie.
Czasem nie jesteśmy wstanie wyciągnąć dane bez skorzystania z podzapytania.
Przykładowo: Kto zarabia więcej niż średnia w firmie?
Rozbijmy to na pod problemy
- Znajdź średnią
- Następnie porównaj pensja pracowników > znaleziona średnia.
SELECT AVG(salary)
FROM employee
Wynik: 68212
Każdy kto zarabia ponad 68212
SELECT *
FROM employee
WHERE salary > 68212;
🤔 Gdybyśmy to jednak połączyli ? 🤔
SELECT * FROM employee
WHERE salary > (
SELECT AVG(salary)
FROM employee
);
Zadanie:
- Sprawdź jaka pensja jest minimalna w tej firmie. Znajdź pracowników, którzy zarabiają pensję do 10 tys większą niż pensja minimalna. Policz ich.
- Znajdź pracowników, którzy zarabiają pensję do 10 tys mniejszą niż pensja maksymalna. Policz ich.
- Znajdź pracowników, którzy zarabiają od o 20 tys więcej niż pensja minimalna do o 20 tys mniej niż pensja maksymalna.
- Znajdź pracowników, którzy zarabiają ponad połowę pensji pracownika o najwyższej pensji, ich nazwisko zawiera literę r. Pogrupuj wg. otrzymywanej pensji oraz posortuj malejąco liczbą pracowników o takiej samej pensji.