Как мне сделать этот запрос SQL - PullRequest
1 голос
/ 24 марта 2012

Ниже приведены таблицы, с которыми я работаю:

Фильм (идентификатор, название, год, режиссер)

Рецензент (rID, имя)

Рейтинг (rID, mID, звезды, рейтингDate)

, какое утверждение я бы использовал для отображения всех фильмов, у которых нет оценок. Я новичок в языке SQL и не совсем понимаю, как это можно сделать. Из того, что мне сказали, это относительно простой запрос.

Ответы [ 4 ]

5 голосов
/ 24 марта 2012

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

2 голосов
/ 24 марта 2012

Есть три способа сделать это.Я предпочитаю Anti-Join, который является левым соединением с проверкой предложения where для IS NULL с правой стороны соединения

SELECT * 
FROM 
   Movie
   LEFT JOIN Rating
    ON moive.Mid = rating.mid
WHERE
    rating.mid is null
0 голосов
/ 24 марта 2012

Вы можете использовать предложение NOT EXISTS.Хороший пример для Oracle: http://www.dba -oracle.com / sql / t_subquery_not_in_exists.htm Синтаксис может варьироваться в зависимости от вашей базы данных

0 голосов
/ 24 марта 2012

выберите * из фильма, в котором отсутствует mID (выберите значение из рейтинга)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...