【发布时间】:2019-06-18 20:11:19
【问题描述】:
SQL Server 知道基于外键的表依赖关系,那么为什么需要显式指定JOIN ON 外键呢?
真实世界的工作示例(此查询有效):
SELECT * FROM users
INNER JOIN roles ON users.role_id=roles.id
隐式示例(此查询不起作用):
SELECT * FROM users
INNER JOIN roles
SQL 不应该隐式且正确地假设如果没有指定 ON 关键字,则应该在外键上进行连接?
我知道这样做的好处可能微不足道,但是在使用 SQL API(例如 Java Hibernate 的查询语言)中的此功能后,我不明白为什么不将其内置到 SQL 中。
编辑
感谢到目前为止的回答。尽管它们很有趣,但它们都没有回答有关 SQL Server 的原始问题。
【问题讨论】:
标签: sql sql-server hibernate