两个sql语句之间的差异

时间:2019-08-01 16:09:28

标签: sql

我是SQL的新手,正在sqlzoo(https://sqlzoo.net/wiki/More_JOIN_operations)上做一些练习。根据它的一个问题,我的SQL语句被判断为错误,但是我认为它等同于引用语句。

有三个表。可以在sqlzoo

上找到详细信息
  

此数据库具有多对多关系的两个实体(电影和演员)。每个实体都有自己的表。第三个表Cast用来链接它们。这种关系是多对多的,因为每部电影都有许多演员,而且每个演员都出现在许多电影中。

我的声明

SELECT title, name
FROM casting JOIN movie ON movie.id=movieid
             JOIN actor ON actor.id=actorid
WHERE movieid in
(SELECT id FROM movie WHERE yr=1962)
AND ord=1

产生正确结果的参考声明

SELECT title, name
FROM movie JOIN casting ON (id=movieid)
JOIN actor ON (actor.id = actorid)
WHERE ord=1 AND  yr = 1962

我无法分辨以上两个语句之间的区别。

1 个答案:

答案 0 :(得分:1)

它们都应该工作并产生相同的结果。但是参考声明更加有效。