2012-03-24 3 views
1

Im Folgenden sind die Tabellen mit denen ich arbeite:Wie mache ich diese SQL-Abfrage

Film (mID, Titel, Jahr, Regisseur)

Reviewer (Rid Name)

Bewertung (rID, mID, sterne, ratingDate)

Welche Aussage würde ich verwenden, um alle Filme anzuzeigen, die keine Bewertungen haben. Ich bin neu in der SQL-Sprache und kann nicht ganz sehen, wie dies getan werden kann. Nach dem, was mir gesagt wurde, ist dies eine relativ einfache Abfrage.

Antwort

4

SELECT * FROM Movie WHERE Movie.mid NOT IN (SELECT mID FROM Rating)

+0

funktioniert wie ein Charme danke. Ich verstehe es irgendwie. – batsta13

0

select * from Film, in dem mID nicht in (wählen Mitte aus Bewertung)

1

Es gibt drei Möglichkeiten, dies zu tun. Meine Präferenz ist für einen Anti-Join, der ein LINKER JOIN mit einem WHERE-Klausel-Test für IS NULL auf der rechten Seite des Joins ist.

SELECT * 
FROM 
    Movie 
    LEFT JOIN Rating 
    ON moive.Mid = rating.mid 
WHERE 
    rating.mid is null