🧩 Query completa — tutti i concetti insieme
SELECT c.titolo AS corso,
COUNT(*) AS iscritti,
AVG(v.voto) AS media
FROM corsi c
INNER JOIN iscrizioni i ON c.id = i.corso_id
INNER JOIN voti v ON i.id = v.iscrizione_id
WHERE c.attivo = 1
GROUP BY c.titolo
HAVING COUNT(*) >= 3
ORDER BY media DESC
LIMIT 10;
💡 Questa query combina TUTTI i concetti visti nelle guide MySQL: JOIN (collegare tabelle), WHERE (filtrare righe), GROUP BY (raggruppare), funzioni aggregate (COUNT/AVG), HAVING (filtrare gruppi), ORDER BY e LIMIT (ordinare e limitare) — la struttura tipica di una query di reportistica reale, come quelle che costruirai nei progetti CMS/CRM.