关于equi join和inner join的区别是什么?

时间:2015-01-14 00:55:43

标签: oracle11gr2

我正在使用Oracle 11g进行研究。现在,我不理解下面的例子,因为,SQL结果是一样的。我想听一下上面例子中的加入差异

SELECT P.player_name,
       P.back_no,
       T.region_name,
       T.team_name
FROM   player P
       inner join team T
               ON P.team_id = T.team_id
                  AND P.position = 'GK'
ORDER  BY P.back_no ASC;

SELECT P.player_name,
       P.back_no,
       T.region_name,
       T.team_name
FROM   player P
       inner join team T
               ON P.team_id = T.team_id
WHERE  P.position = 'GK'
ORDER  BY P.back_no ASC; 

1 个答案:

答案 0 :(得分:0)

我认为以下链接可能会帮助您了解其中的差异。 Read Here

  

几乎每个连接都是等值连接,因为匹配行的条件基于两个值的相等性 - 来自每个连接表的一个值。这就是使它成为等值的原因:ON条件是平等。这包括内连接和所有三种类型的外连接。

     另一方面,内部联接可以基于相等性来匹配行,或者完全基于某些其他条件。如果它不是等值连接,那么它通常被称为theta连接,尽管准确地说,等同连接只是可能的θ连接之一;其他theta连接使用小于,小于或等于等作为比较运算符。只要比较评估为TRUE,匹配的行就有资格进行连接。

您可以在上面提到的链接中找到示例。

相关问题