Różnica pomiędzy HAVING a GROUP BY w SQL
Słowo HAVING jest interpretowane w zapytaniu dopiero wówczas, gdy dane są wysyłane do klienta, który wysłał zapytanie do bazy, a więc już po wykonaniu wyszukania danych przez serwer.
Inaczej mówiąc używanie słowa HAVING powinno być raczej ograniczone gdyż nie poddaje się optymalizacji zapytań do bazy danych. Słowo HAVING ma jednak tą zaletę, że można go używać w przypadku funkcji agregujących, czego nie można zrobić przy pomocy słowa WHERE.
Listing 1.0 zawiera zapytanie z użyciem HAVING oraz GROUP BY.
Listing
--zwróci nazwiska oraz maksymalną ilość punktów graczy, których nie dublują się nazwiska oraz jeśli maksymalna ilość punktów jest większa niż 10
SELECT nazwisko, MAX(punkty) FROM gracze GROUP BY nazwisko HAVING MAX(punkty) > 10;
SELECT nazwisko, MAX(punkty) FROM gracze GROUP BY nazwisko HAVING MAX(punkty) > 10;
Dodano przez: divix
Ranga: Administrator serwisu Punktów: 0
Ranga: Administrator serwisu Punktów: 0
Komentarze użytkowników
:: Losowe artykuły
:: Wymiana linków
Modowe inspiracje |
Android Gry i Aplikacje |
ZaplanujTransport.pl: Przeprowadzki, transport, aukcje |
Logo dla firmy |
Change Tires - Car Weather Forecast Reminder |
Laminas: MVC Framework for PHP |
IT Books Reviews and Programming: JS, JAVA, PHP, ANDROID, CSS |
Katalog roślin |
Programming articles: JAVA, PHP, C++, Python, JavaScript |
Kancelaria Adwokacka Łukasz Huszno