Salve,
ho travato in rete questo esempio di query innestata con le seguenti tabelle:
RIUNIONE(CodR, Descrizione, DataRiunione)
DIPENDENTE(CodD, Nome, Cognome, DataNascita, Citta)
PARTECIPA RIUNIONE(CodD, CodR)
Testo interrogazione
Visualizzare il codice dei dipendenti che hanno partecipato sola-
mente alle riunioni alle quali ha partecipato il dipendente D100
(CodD='D100').
Soluzione
Non ho capito il ragionamento della doppia negazione.codice:SELECT CodD FROM DIPENDENTE AS D WHERE CodD NOT IN (SELECT CodD FROM PARTECIPA_RIUNIONE WHERE CodR NOT IN (SELECT CodR FROM PARTECIPA_RIUNIONE WHERE CodD='D100'));
Inoltre sempre sulle stesse tabelle, non ho capito la differenza concettuale di quest'altra interrogazione dalla precedente:
Testo interrogazione
Visualizzare il codice dei dipendenti che hanno partecipato a tutte e
sole le riunioni alle quali ha partecipato il dipendente D100 (CodD='D100').
Soluzione
C'è qualcuno che può darmi delle delucidazioni?codice:SELECT CodD FROM PARTECIPA_RIUNIONE AND CodR IN (SELECT CodR FROM PARTECIPA_RIUNIONE WHERE CodD='D100') AND CodD NOT IN (SELECT CodD FROM PARTECIPA_RIUNIONE WHERE CodR NOT IN (SELECT CodR FROM PARTECIPA_RIUNIONE WHERE CodD='D100')) GROUP BY CodD HAVING COUNT(*)=(SELECT COUNT(*) FROM PARTECIPA_RIUNIONE WHERE CodD='D100')

Rispondi quotando