我经常看到有人这样写SQL:
SELECT * from TableA LEFT OUTER JOIN TableB ON (ID1=I2)
我自己简单写一下:
SELECT * from TableA LEFT JOIN TableB ON (ID1=I2)
对我来说,“OUTER”关键字就像线路噪音 - 它不添加任何附加信息,只是让 SQL 变得混乱。在我所知道的大多数 RDBMS 中,它甚至是可选的。那么...为什么人们仍然写它?这是一种习惯吗?可移植性? (无论如何,你的 SQL 真的是可移植的吗?)还有什么我不知道的吗?
OUTER
正如你所写,确实是多余的,因为所有OUTER
连接是LEFT
or RIGHT
,并且互为所有LEFT
or RIGHT
连接是OUTER
。所以从语法上来说,正如你所说,它主要是噪音。即使在 ISO SQL 中它也是可选的。至于人们为什么使用它,我想有些人觉得有必要坚持加入OUTER
,即使 left-or right 关键字已经这么说了。对于这个问题,INNER
也是多余的!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)