Sql join表示法:这相当于内部连接还是完全连接?

时间:2012-05-22 00:57:33

标签: sql syntax

 select  a.somefield, b.someotherfield
 from    a, b
 where   a.key = b.key

以上是否相当于:

 select  a.somefield, b.someotherfield
 from    a join b on a.key = b.key

或:

 select  a.somefield, b.someotherfield
 from    a full join b on a.key = b.key

我很确定它相当于一个内部联接,但我意识到我之前从未真正考虑过它。另外,我想知道是否有任何边缘情况不是100%相等?

1 个答案:

答案 0 :(得分:3)

原始概念相当于内部联接。

使用"其中"语法,没有任何外连接的标准等效项(左外连接,右外连接,全外连接)。 Oracle支持" +"语法,表示左外连接和右外连接。

此外,在where子句中省略条件等同于交叉连接。

但是,您应该习惯使用from子句中的join语法。一旦习惯了它,查询的意图就会更清晰,更不容易出错。