小编Ran*_*nes的帖子

SQL - 连续的"ON"语句

当我在数据库的旧视图中清理一些问题时,我遇到了这个"奇怪的" 连接条件:

from
    tblEmails [e]
    join tblPersonEmails [pe]
        on (e.EmailID = pe.EmailID)
    right outer join tblUserAccounts [ua]
    join People [p]
        on (ua.PersonID = p.Id)
    join tblChainEmployees [ce]
        on (ua.PersonID = ce.PersonID)
        on (pe.PersonID = p.Id)
Run Code Online (Sandbox Code Playgroud)

表tblUserAccounts被引用为右外连接,但是在引用tblChainEmployees之后才会声明它的on条件; 然后连续两个连续语句.

我无法在互联网上的任何地方找到相关的答案,因为我不知道这种联接被称为什么.

所以问题:

  1. 这种"延期条件"加入是否有名称?
  2. 如何重写以生成相同的结果集,其中on语句不连续?
  3. 也许当一直有一种更简单/更清晰的方式时,这是一个"聪明"的解决方案?

sql t-sql sql-server

7
推荐指数
1
解决办法
149
查看次数

标签 统计

sql ×1

sql-server ×1

t-sql ×1