Sobes.tech
Junior — Middle

Quali metodi esistono per filtrare i dati senza usare la clausola HAVING in SQL?

sobes.tech AI

Risposta dell'AI

Per filtrare i dati senza usare la clausola HAVING in SQL, si possono applicare i seguenti metodi:

  • Utilizzare WHERE per filtrare le righe prima di effettuare il raggruppamento. Ad esempio, filtrare in base ai valori di singoli record.
  • Applicare sottoquery, dove prima vengono selezionati i dati aggregati e poi si applica un filtro nella query principale.
  • Usare funzioni di finestra (se il DBMS le supporta) per filtrare i dati sugli aggregati senza HAVING.

Esempio con sottoquery:

SELECT department, total_salary
FROM (
  SELECT department, SUM(salary) AS total_salary
  FROM employees
  GROUP BY department
) AS dept_salaries
WHERE total_salary > 100000;

Qui, il filtro sulla somma degli stipendi avviene nella query esterna senza HAVING.