我正在读一本关于SQL的书,我被困在一个与数据库模式相关的例子中,如下图所示。 将WHERE子句与NATURAL JOIN SQL一起使用?
下面的例子解决了在书中指出查询:“用的课程,他们教的冠军一起列出导师 的名字”
假设我们希望回答查询的查询可以写在 SQL如下:
select name , title
from instructor natural join teaches , course
where teaches.course id = course.course id;
现在书指出
“需要注意的是teaches.course ID 在其中CL ause引用自然连接结果的course id字段,因为该字段又来自教授关系。 “
再次在书中状态BOLD说:
”这是不可能的使用属性包含原始关系名称的名称,例如instructor.name或teaches.course ID,是指属性的自然加入结果;但是,我们可以使用属性名称,如 名称和课程ID,但不包含关系名称。“
(请参阅上面的查询)如果不可能,那么作者如何能够将查询写为
teaches.course id = course.course id
如何teaches.course指自然连接属性“场”中,笔者已经隐约这样提出他的arguments.Please给我解释一下作者的观点。
SQL Server不支持'NATURAL JOIN',所以问题不能与该数据库有关。 –
问题是关于sql语言的一般问题,而不是关于sql server的问题。我刚刚用它作为附加标签。 –
'从教练自然结合教',课程'我会说:烧书! “自然加入”通常被认为是邪恶的,并且与旧式的通用结合在一起,这是无法承认的。 – wildplasser