Sobes.tech
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.