Junior — Middle
Aké metódy existujú na filtrovanie údajov bez použitia konštrukcie HAVING v SQL?
sobes.tech AI
Odpoveď od AI
Pre filtrovania údajov bez použitia konštrukcie HAVING v SQL je možné použiť nasledujúce metódy:
- Použiť WHERE na filtrovanie riadkov pred skupinovaním. Napríklad filtrovať podľa hodnôt jednotlivých záznamov.
- Použiť poddotazy, kde sa najskôr vyberú agregované údaje a potom sa na ne aplikuje filter v hlavnom dopyte.
- Použiť okná funkcie (ak ich SGBD podporuje) na filtrovanie údajov podľa agregátov bez HAVING.
Príklad s poddotazom:
SELECT department, total_salary
FROM (
SELECT department, SUM(salary) AS total_salary
FROM employees
GROUP BY department
) AS dept_salaries
WHERE total_salary > 100000;
Tu sa filtrovanie podľa súčtu platov vykonáva v externom dopyte bez HAVING.