Cpt*_*rkt 72 sql t-sql join sql-server-2008
只需使用查询和示例来更好地了解联接.我注意到在SQL Server 2008中,以下两个查询给出了相同的结果:
SELECT * FROM TableA
FULL OUTER JOIN TableB
ON TableA.name = TableB.name
Run Code Online (Sandbox Code Playgroud)
SELECT * FROM TableA
FULL JOIN TableB
ON TableA.name = TableB.name
Run Code Online (Sandbox Code Playgroud)
这些是完全相同的动作产生相同的结果,还是会在更复杂的例子中遇到不同的结果?这只是可互换的术语吗?
Joh*_*Woo 87
实际上他们是一样的.LEFT OUTER JOIN与...相同LEFT JOIN并且RIGHT OUTER JOIN相同RIGHT JOIN.这是比较丰富的信息方式INNER Join.
有关详细信息,请参阅此Wikipedia文章.
确实有些数据库识别OUTER关键字.有些人没有.在识别的地方,它通常是一个可选的关键字.几乎总是,FULL JOIN和FULL OUTER JOIN做同样的事情.(我想不出他们没有的例子.其他人可以想到吗?)
这可能会让你感到疑惑,"如果它没有任何意义,为什么它甚至会成为一个关键词呢?" 答案归结为编程风格.
在过去,程序员努力使代码尽可能紧凑.每个字符意味着更长的处理时间 我们使用了1,2和3个字母变量.我们使用了2位数年份.我们消除了所有不必要的空白.有些人仍然这样编程.这不再是处理时间了.它更多的是关于快速编码.
现代程序员正在学习使用更多描述性变量,并在代码中添加更多备注和文档.使用像OUTER这样的额外词语可以确保阅读代码的其他人更容易理解它.模糊性会减少.对于将来必须维护该代码的人来说,这种风格更具可读性和更好的性能.
| 归档时间: |
|
| 查看次数: |
152896 次 |
| 最近记录: |