Sei sulla pagina 1di 2

SELECT classe.anno, classe.sez, classe.

spec, (SELECT COUNT(*) FROM composizione


WHERE composizione.anno = classe.anno
AND composizione.sez = classe.sez
AND composizione.spec = classe.spec
AND composizione.annoscol = "2016/17") AS nalunni, (SELECT COUNT(*) FROM
composizione, assenze, alunni
WHERE composizione.anno = classe.anno
AND composizione.sez = classe.sez
AND composizione.spec = classe.spec
AND composizione.annoscol = "2016/17"
AND composizione.nmatricola = alunni.nmatricola
AND assenze.nmatricola = alunni.nmatricola) AS nassenze
FROM classe;

SELECT alunni.nmatricola, alunni.nome, alunni.cognome, (SELECT COUNT(*) FROM


composizione, assenze, classe
WHERE composizione.anno = classe.anno
AND composizione.sez = classe.sez
AND composizione.spec = classe.spec
AND composizione.annoscol = "2016/17"
AND composizione.nmatricola = alunni.nmatricola
AND assenze.nmatricola = alunni.nmatricola
AND YEAR(assenze.data) = 2017) AS nassenze, (SELECT COUNT(*) FROM
composizione, voti, classe
WHERE composizione.anno = classe.anno
AND composizione.sez = classe.sez
AND composizione.spec = classe.spec
AND composizione.annoscol = "2016/17"
AND composizione.nmatricola = alunni.nmatricola
AND voti.nmatricola = alunni.nmatricola
AND voti.annoscol = composizione.annoscol) AS nvoti, (SELECT AVG(voti.voto)
FROM composizione, voti, classe
WHERE composizione.anno = classe.anno
AND composizione.sez = classe.sez
AND composizione.spec = classe.spec
AND composizione.annoscol = "2016/17"
AND composizione.nmatricola = alunni.nmatricola
AND voti.nmatricola = alunni.nmatricola
AND voti.annoscol = composizione.annoscol) AS media
FROM alunni;

SELECT *
FROM alunni
WHERE datanascita BETWEEN #1/12/1997# AND #20/07/1999#;

SELECT alunni.residenza, COUNT(*) AS totalunni


FROM alunni
GROUP BY alunni.residenza
ORDER BY (COUNT(*)) DESC;

SELECT alunni.nmatricola, alunni.nome, alunni.cognome


FROM alunni
WHERE alunni.nmatricola NOT IN (SELECT alunni.nmatricola FROM alunni, voti WHERE
voti.nmatricola=alunni.nmatricola GROUP BY alunni.nmatricola);

SELECT alunni.nome, alunni.cognome, COUNT(*) AS assenze


FROM alunni, assenze
WHERE alunni.nmatricola = assenze.nmatricola
GROUP BY alunni.nome, alunni.cognome
HAVING COUNT(*) > 2;

SELECT alunni.nmatricola, alunni.nome, alunni.cognome, voti.voto


FROM alunni, voti
WHERE alunni.nmatricola = voti.nmatricola
AND voti.codmateria = "sto"
AND voti.voto = (SELECT MAX(voto) FROM voti WHERE codmateria = "sto");

Potrebbero piacerti anche