Ciao a tutti..ho un'esame di basi di dati presto e non riesco a capire bene il meccanismo di risoluzione delle query annidate..vi posto un esempio di query..se mi potete spiegare mi fate un grandissimo favore..

Schema relazionale che descive il calendario di una manifestazione sportiva a squadre nazionali

Palazzatto(Nome(chiave primaria),citta,capienza)
Incontro(NomePalazzetto(chiave primaria),data(chiave primaria),ora(chiave primaria),squadra1,squadra2)
Nazionale(Nazione(chiave primaria),continente,livello)

Query da risolvere: Determinare le squadre che giocano esattamente negli stessi palazzetti

Soluzione proposta:

Select N1.nazione,N2.Nazione
FROM Nazionale AS N!,Nazionale AS N2
WHERE NOT EXISTS (SELECT *
FROM INCONTRO I
WHERE (I.squadra1=N1.Nazione OR I.squadra2=N1.Nazione)
AND
NOT EXISTS (SELECT *
FROM INCONTRO
WHERE NomePalazzetto=I.NomePalazzetto
AND
(squadra1=N2.Nazione OR squadra2=N2.nazione)))
AND
NOT EXISTS ( SELECT *
FROM INCONTRO I
WHERE (I.squadra1=N2.Nazione OR I.squadra2=N2.Nazione)
AND
NOT EXISTS ( SELECT *
FROM INCONTRO
WHERE NomePalazzetto=I.NomePalazzetto
AND
( squadra1=N1.Nazione OR squadra2=N1.Nazione)))
AND
N1.Nazione<>N2.Nazione;