DOMANDA Aiuto su programmazione sql

alix12

Nuovo Utente
Buonasera ragazzi, mi sto imbattendo in un esercizio di programmazione sql. Il testo è il seguente:
Il seguente schema è utilizzato per gestire le informazioni sulla carriera degli studenti di un corso di
laurea.
Studente(matricola, nome, cognome)
Iscrizione(studente, anno)
Corso(codice, nome)
EsamiSostenuti(studente, corso, voto, giorno, mese, anno)
Esiste un vincolo di integrità referenziale tra gli attributi e le relazioni che hanno lo stesso nome.

Esercizio 1. (15 punti) Esprimere in linguaggio SQL le seguenti interrogazioni:
Estrarre matricola, nome e cognome dello studente che ha sostenuto il maggior numero di esami
nel 2018.
Estrarre la matricola degli studenti che hanno dato più di un esame nello stesso giorno.
Codice e nome del corso per il quale risulta minima la media dei voti attribuiti agli studenti.


Allora per il primo esercizio ho pensato di fare così, non so se è corretto:

Select s.matricola, s.cognome, s.nome
from studenti s, esamiSostenuti E1, esamiSostenuti E2, corso c
where e1.anno=2018 and e2.anno=2018 and
e1.corso=c.corso and
e2.corso= c.corso and
e1.matricola>e2.matricola
Volevo chiedervi se è corretto.
Grazie mille!
 

nerf_commandline

Nuovo Utente
123
18
Hardware Utente
CPU
Amd Fx 8320 4.0 Ghz
Dissipatore
Noctua Nh-D14
Scheda Madre
Gigabyte Ga 990 XA-UD3
Hard Disk
SO: SSD Crucial MX200 250 GB
RAM
2 x 8 GB HyperX Savage, DDR3, 1866MHz,CL9
Scheda Video
Gigabyte HD 7970 Ghz Edition
Alimentatore
Cooler Master VS 650W Semi modulare
Case
Thermaltake Chaser A71
Sistema Operativo
Windows 10; Kali Linux
Anche se un po' in ritardo:

SELECT s.matricola, s.cognome, s.nome, COUNT(*) AS nEsami
FROM studenti s, esamiSostenuti e
WHERE e.anno=2018
AND s.matricola = e.studente
GROUP BY s.matricola, s.cognome, s.nome
ORDER BY nEsami DESC
LIMIT 1
 

Entra

oppure Accedi utilizzando