Cyber_X
25-01-2016, 14:37
Salve,
ho questo schema relazionale:
ATTORI (CodAttore, Nome, AnnoNascita, Nazionalità);
RECITA (CodAttore*, CodFilm*)
FILM (CodFilm, Titolo, AnnoProduzione, Nazionalità, Regista, Genere)
PROIEZIONI (CodProiezione, CodFilm*, CodSala*, Incasso, DataProiezione)
SALE (CodSala, Posti, Nome, Città)
N.B. gli asterischi indicano le chiavi esterne
Devo effettuare la seguente query:
I titoli dei film che non sono mai stati proiettati a Pisa
Avendo 3 soluzioni non riesco a capire la differenza tra queste
1)
select f.Titolo
from film as f join proiezioni as p on (f.CodFilm = p.CodFilm) join sale as s on (p.CodSala = s.CodSala)
where s.Citta <> 'Pisa'
2)
SELECT f.Titolo
FROM Film f
WHERE not exists (SELECT *
FROM Proiezioni p, Sala s
WHERE s.Città=”Pisa” and f.CodFilm=p.CodFilm and p.CodSala =s.CodSala)
3)
SELECT f.Titolo
FROM Film f
WHERE “Pisa” not in (SELECT s.Città
FROM Proiezioni p, Sala s
WHERE f.CodFilm = p.CodFilm and p.CodSala =s.CodS)
mi aiutereste a capire la differenza tra la prima e le restanti due?
Sono la stessa cosa?
ho questo schema relazionale:
ATTORI (CodAttore, Nome, AnnoNascita, Nazionalità);
RECITA (CodAttore*, CodFilm*)
FILM (CodFilm, Titolo, AnnoProduzione, Nazionalità, Regista, Genere)
PROIEZIONI (CodProiezione, CodFilm*, CodSala*, Incasso, DataProiezione)
SALE (CodSala, Posti, Nome, Città)
N.B. gli asterischi indicano le chiavi esterne
Devo effettuare la seguente query:
I titoli dei film che non sono mai stati proiettati a Pisa
Avendo 3 soluzioni non riesco a capire la differenza tra queste
1)
select f.Titolo
from film as f join proiezioni as p on (f.CodFilm = p.CodFilm) join sale as s on (p.CodSala = s.CodSala)
where s.Citta <> 'Pisa'
2)
SELECT f.Titolo
FROM Film f
WHERE not exists (SELECT *
FROM Proiezioni p, Sala s
WHERE s.Città=”Pisa” and f.CodFilm=p.CodFilm and p.CodSala =s.CodSala)
3)
SELECT f.Titolo
FROM Film f
WHERE “Pisa” not in (SELECT s.Città
FROM Proiezioni p, Sala s
WHERE f.CodFilm = p.CodFilm and p.CodSala =s.CodS)
mi aiutereste a capire la differenza tra la prima e le restanti due?
Sono la stessa cosa?