Najgłębsze pytania wymagają pytania w pytaniu. W Komnacie Zagadek poznałeś podzapytania oraz
HAVING - filtr dla całych grup.Podzapytanie to zapytanie zagnieżdżone w innym, najczęściej w nawiasach. Pozwala porównać wiersz z wynikiem osobnego obliczenia:
1SELECT tytul, cena
2FROM ksiazki
3WHERE cena > (SELECT AVG(cena) FROM ksiazki);Najpierw baza liczy średnią cenę wszystkich książek, a potem zwraca tylko te droższe od niej.
WHERE filtruje pojedyncze wiersze przed grupowaniem. HAVING filtruje całe grupy już po GROUP BY - najczęściej na podstawie wyniku funkcji agregującej:1SELECT czytelnik_id, COUNT(*) AS liczba
2FROM wypozyczenia
3GROUP BY czytelnik_id
4HAVING COUNT(*) > 2;To zapytanie zwraca tylko czytelników, którzy wypożyczyli więcej niż dwie książki.
WHERE.COUNT, AVG)? → HAVING.Te dwa narzędzia razem pozwalają zadawać Bibliotece naprawdę mądre pytania!