从三个表SQL中选择查询

时间:2015-10-02 14:30:16

标签: sql oracle

数据库是Oracle XE。

让我先解释一下情景,

使用联结表Movie,两个表UserInfoRating处于多对多的关系中。

RatingMovieID(FK),UserName(FK),Rating

MovieIDUserName分别是受尊重表中的主键。

我要做的是制作一个select语句,从Movie表中选择MovieName,其中UserName不等于给定的输入。由于MoveID是FK,但是如果GIVEN用户尚未对电影进行评级,我需要检索MovieName,所以我想我可能需要进行相当复杂的连接操作 - 我无法弄清楚或也许可以使用where来加入两个或更多不同的查询。

提前致谢,如果可能,请提供有关解决方案的说明。

1 个答案:

答案 0 :(得分:0)

这似乎是not exists运算符的经典用例:

SELECT *
FROM   movie m
WHERE  NOT EXISTS (SELECT *
                   FROM   rating r
                   WHERE  r.movideid = m.moveid AND
                          r.username = 'given username here')