Ciao, sto sbagliando un esercizio, ma mi sfugge qualcosa per non rifare lo stesso errore in seguito. Dal manuale di Azteni:

AEROPORTO(cittā, nazione, numPiste)
VOLO(idVolo, giornoSett, cittaPar, cittaArr...)
AEREO(...)

Visualizzare, utilizzando operatore insiemistico, gli aeroporti italiani che effettuano solo voli interni(verso italia).

Soluzione mia:

select *
from AEROPORTO A, VOLO
where cittāPar = A.cittā AND A.Nazione = 'Italia'
except
select *
from AEROPORTO A2, VOLO
where cittāArr = A2.cittā AND A2.Nazione <> 'Italia'

Soluzione del libro:

select CittāPart
from VOLO join AEROPORTO on CittāPart=Cittā
where Nazione = ‘Italia’
except
select CittāPart
from AEROPORTO as A1 join VOLO on A1.Cittā=CittāPart
join AEROPORTO as A2 on CittāArr=A2.Cittā
where (A1.Nazione=’ Italia ’ and A2.Nazione<>’ Italia ’ )

Al di lā dell'uso di join che non cambia la sostanza, quale č il problema? Se c'č, ma credo si.

p.s. software pratici per testare delle query inserendo minibasi di dati come queste dell'esercizio ne conoscete?