Ciao a tutti ragazzi ho bisogno del vostro aiuto. Mi sto imbattendo in una quei sql, mi riuscite a dare una mano?
Dato il seguente schema relazionale:
ATTORE ( codAttore, cognome, nome, dataNascita)
SPETTACOLO ( codSpettacolo, nomeSpettacolo, descrizione, durata, genere, regista, anno )
PARTECIPAZIONE ( codAttore: ATTORE, codSpettacolo: SPETTACOLO, ruolo )
RAPPRESENTAZIONE ( codSpettacolo: SPETTACOLO, dataRappresentazione, numeroSpettatori)
Scrivere una query SQL che visualizzi il numero di attori (numeroAttori) che non ha partecipato a spettacoli di genere ‘Commedia’.
La query che ho realizzato io è:
SELECT COUNT(codattore) as numeroattori
FROM attore A, partecipazione P
WHERE A.codattore=P.codattore and P.codspettacolo <>(SELECT codspettacolo
FROM spettacolo S
WHERE S.genere='Commedia')
Mentre una possibile soluzione è:
SELECT COUNT(codAttore)
FROM ATTORE
WHERE codAttore NOT IN (SELECT codAttore
FROM PARTECIPAZIONE P, SPETTACOLO S
WHERE P.codSpettacolo = S.codSpettacolo
AND genere = ‘Commedia’)
Ora vi chiedo, la query da me proposta può andar bene o è sbagliata?
Grazie in anticipo