Salve,
dovrei scrivere una query che faccia la seguente cosa: "si scriva in sql un interrogazione che restituisca coppie di studenti che sono stati iscritti alla stessa laurea e che per ogni anno di iscrizione hanno esattamente la stessa media sugli esami"
Chiarisco la questione dell'esame perchè potrebbe non essere intuitiva: ogni corso di laurea è composto da esami appartenenti ad un determinato anno (primo, secondo ecc..). La query vuole l'elenco di coppia di studenti appartenenti allo stesso corso di laurea e che, per ogni anno, hanno la stessa media.
Le tabelle utili sono Studente (che contiene matricola e CorsoLaurea) ed Esame (che contiene il voto e l'anno dell'esame).
Volevo fare una cosa del genere:
Ma ho dei seri dubbi sul fatto che funzioni. Qualcuno ah qualche consiglio sul come svolgere questo tipo di query?codice:SELECT s1.matr, s2.matr FROM studente s1 JOIN studente s2 ON s1.codLaurea = s2.codLaurea //in modo da prendere solo le coppie di studenti che hanno lo stesso CdL WHERE NOT EXISTS (SELECT anno, AVG(voto) FROM esami e1 WHERE e1.matr = s1.matr AND voto IS NOT NULL GROUP BY anno) INTERSECT (SELECT anno, AVG(voto) FROM esami e2 WHERE e2.matr = s2.matr AND voto IS NOT NULL GROUP BY anno);