【发布时间】:2009-11-16 11:28:59
【问题描述】:
我经常看到这样写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 关键字只是噪音。少即是多。
-
当我们不确定哪个表实际有数据时,我们可以使用它吗?我们需要任何一个表的数据?
-
听起来你需要
FULL [OUTER] JOIN,尽管从你的描述中不太清楚。也许您需要UNION。写一个新问题并详细描述你的数据和结构。到时候你会很快得到答案的。
标签: sql syntax rdbms-agnostic