Vai al contenuto

Primario: Sky Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Secondario: Sky Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Sfondo: Blank Waves Squares Notes Sharp Wood Rockface Leather Honey Vertical Triangles
Corsi di Laurea










ROX @ Unisa - Forum degli studenti di Ingegneria utilizza i cookie. Se prosegui la navigazione accetti il loro uso.    Accetto l'uso dei cookie
-->
Foto

Dubbio soluzione query


  • Effettua l'accesso per rispondere
Questa discussione ha avuto 3 risposta/e

#1
dottorbrillo

dottorbrillo

    Advanced Member

  • Utente
  • StellaStellaStella
  • 82 Messaggi:
Salve a tutti, ho il seguente esercizio di una prova d'esame di Basi di Dati del 2003.
Ho questo schema relazionale:
DOCENTE(Codice,Nome,Cognome)
STUDENTE(Codice,Nome,Cognome)
ARGOMENTO(Codice,Descrizione)
LEZIONE(CodiceArg,Data,CodiceDocente,NumStudenti)
Foreign Key CodiceArg References ARGOMENTO
Foreign Key CodiceDocente References DOCENTE
NumStudenti è il numero di studenti presenti a lezione

INTERROGAZIONE(CodiceArg,Data,CodiceStudente,Voto)
Foreign Key CodiceArg,Data References LEZIONE
Foreign Key CodiceStudente References STUDENTE
In questa relazione si memorizza l’interrogazione e il relativo voto dello studente CodiceStudente
durante una lezione


E la seguente query:
Mostrare il Codice, il Nome ed il Cognome degli studenti che non sono mai stati interrogati su un argomento con descrizione "Fisica".

Io ho fatto così:
SELECT *
FROM Studente S
WHERE S.Codice NOT IN (SELECT S.Codice
FROM Interrogazione I, Argomento A
WHERE I.CodiceArg = A.Codice AND I.CodiceStudente = S.Codice AND A.Descrizione="Fisica")

Posso sapere se la soluzione è corretta? Sulla prova da come soluzione questa:
SELECT *
FROM Studente S
WHERE NOT EXISTS
(SELECT *
FROM Interrogazione I, Argomento A
WHERE S.Codice = I.CodiceStudente
AND A.CodiceArg = I.CodiceArg
AND A.Descrizione = ‘Fisica’)

Volevo solo sapere se andava bene anche la mia.. Ringrazio in anticipo per le risposte :)



#2
s904s

s904s

    Member

  • Utente
  • StellaStella
  • 21 Messaggi:
Scusa perchè non la provi in pratica cioè in pgclient ti crei tutte le relazioni e le provi se funzionano? comunque è sbagliata la sintassi non si mettono queste " quando indichi una stringa di caratteri in sql ma si mettono questi '

#3
dottorbrillo

dottorbrillo

    Advanced Member

  • Utente
  • StellaStellaStella
  • 82 Messaggi:
Speravo di evitare proprio di doverla provare , mi porta in via un pò di tempo.. Comunque grazie per la correzione :)

#4
s904s

s904s

    Member

  • Utente
  • StellaStella
  • 21 Messaggi:
ti conviene farla perchè ti esercita anche per l'esercizio 2 che ti chiede di fare i create table




Leggono questa discussione 0 utenti

0 utenti, 0 ospiti, 0 utenti anonimi