以下是我正在使用的表格:
电影(mID,标题,年份,导演)
审稿人(rID,姓名)
评级(rID,mID,stars,ratingDate)
我会使用哪种陈述来显示所有没有评分的电影。我是SQL语言的新手,并不能完全看到如何做到这一点。据我所知,这是一个相对简单的查询。
答案 0 :(得分:5)
SELECT * FROM Movie WHERE Movie.mid NOT IN (SELECT mID FROM Rating)
答案 1 :(得分:2)
有三种方法可以做到这一点。我的偏好是Anti-Join,它是一个LEFT JOIN,在连接的右侧有一个IS NULL子句测试。
SELECT *
FROM
Movie
LEFT JOIN Rating
ON moive.Mid = rating.mid
WHERE
rating.mid is null
答案 2 :(得分:0)
从mID不在的电影中选择*(从评级中选择mId)
答案 3 :(得分:0)
您可以使用NOT EXISTS子句。 Oracle的一个很好的例子是http://www.dba-oracle.com/sql/t_subquery_not_in_exists.htm。语法可能因数据库而异[/ p>