我经常看到这样编写SQL的人:
SELECT * from TableA LEFT OUTER JOIN TableB ON (ID1=I2)我自己写的很简单:
SELECT * from TableA LEFT JOIN TableB ON (ID1=I2)对我来说,“just”关键字就像是行噪声--它不会添加任何额外的信息,只会使SQL变得混乱。据我所知,它甚至在大多数RDBMS中都是可选的。所以..。为什么人们还在写它?这是一个习惯吗?可移植性?(你的SQL真的是可移植的吗?)还有什么我不知道的吗?
发布于 2009-11-16 19:34:58
正如您所写的,OUTER确实是多余的,因为所有的OUTER连接要么是LEFT,要么是RIGHT,反过来,所有的LEFT或RIGHT连接都是OUTER。正如你所说,从句法上讲,它主要是噪音。即使在ISO SQL中,它也是可选的。至于为什么人们使用它,我想有些人觉得有必要坚持连接是OUTER的,即使left-or-right关键字已经说明了这一点。就这一点而言,INNER也是多余的!
发布于 2009-11-16 19:34:06
是的
在我看来,这只会让事情变得更清晰--你陈述的意图越清晰越明显(特别是对于后来试图阅读和理解你的代码的其他人来说)。
但这只是我的观点-在技术上不需要,所以你可以使用它-或者离开它。
发布于 2009-11-16 20:10:34
不是的。我使用
这对我来说是没有歧义的。
https://stackoverflow.com/questions/1741604
复制相似问题