数据库是Oracle XE。
让我先解释一下情景,
使用联结表Movie
,两个表UserInfo
和Rating
处于多对多的关系中。
Rating
(MovieID
(FK),UserName
(FK),Rating
)
MovieID
和UserName
分别是受尊重表中的主键。
我要做的是制作一个select
语句,从Movie表中选择MovieName,其中UserName不等于给定的输入。由于MoveID是FK,但是如果GIVEN用户尚未对电影进行评级,我需要检索MovieName,所以我想我可能需要进行相当复杂的连接操作 - 我无法弄清楚或也许可以使用where来加入两个或更多不同的查询。
提前致谢,如果可能,请提供有关解决方案的说明。
答案 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')