哪个更好..左外连接还是右外连接?

Vai*_*hav 7 sql join

我们可以通过这两种方式获得相同的结果.

Table_1 LEFT OUTER JOIN Table_2

Table_2 RIGHT OUTER JOIN Table_1
Run Code Online (Sandbox Code Playgroud)

如果我们可以得到相同的结果,为什么要使用右外连接?哪一个更好 ?

Mar*_*ers 13

正如其他人已经指出LEFT OUTER JOINRIGHT OUTER JOIN完全相同的操作,除了他们的论点被颠倒.你的问题就像问是否更好写a < bb > a.他们是一样的 - 这只是一个偏好问题.

话虽如此,我发现大多数人都更熟悉LEFT JOIN并在SQL中使用它.有些人甚至发现如果RIGHT JOIN查询中间突然出现这种情况很难阅读,这会导致他们不得不停下来思考这意味着什么.所以我建议在两个选项之间给出相同的选择,更喜欢使用LEFT JOIN.保持一致将使其他开发人员更容易理解您的SQL.

  • 是.我认为对LEFT的偏好可能来自于开始用最"重要"的表开始编写查询的自然倾向,这些表通常包含完整信息,即没有行丢失,并添加可能包含或不包含相关信息的表那. (4认同)
  • 这是一个比我在评论中添加一个更好的例子.出于某种原因,我在一个不对称的简单运算符上画了一个空白:-) (3认同)