Ciao a tutti. A breve avrò un colloquio su sql. Avendolo studiato 2 anni fa all'università, lo stavo rispolverando, e devo dire che molte cose le ricordo bene.
Ho un dubbio su una query.
Questo è il DB:
Programmi(Codice, NomeProgramma, Rete, Tipologia)
Artisti(CProgramma, NomeArt)
Sondaggi(CodProg, Auditel)
Questa è la query:
Restuire i nomi dei programmi con almeno due artisti.
Ecco la mia soluzione:
A:
SELECT count(NomeArt) as numArtisti
FROM Artisti
GROUP BY c.Programma
HAVING numArtisti >=2
SELECT NomeProgramma
FROM A,Programmi P
WHERE P.Codice IN A
La soluzione dell'esercizio, è invece:
SELECT DISTINCT NomeProgramma
FROM Programmi P, Artisti A1, Artisti A2
WHERE P.Codice = A1.CProgramma AND
P.Codice = A2.CProgramma AND
A1.NomeArt > A2.NomeArt
che onestamente non mi piace, forse perchè non riesco a comprenderla. Me la potreste spiegare perchè utilizza questa soluzione? Grazie mille

