首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在SQL中编写left/right连接时是否使用OUTER关键字?

在SQL中编写left/right连接时是否使用OUTER关键字?
EN

Stack Overflow用户
提问于 2009-11-16 19:28:59
回答 8查看 3.2K关注 0票数 13

我经常看到这样编写SQL的人:

代码语言:javascript
运行
复制
SELECT * from TableA LEFT OUTER JOIN TableB ON (ID1=I2)

我自己写的很简单:

代码语言:javascript
运行
复制
SELECT * from TableA LEFT JOIN TableB ON (ID1=I2)

对我来说,“just”关键字就像是行噪声--它不会添加任何额外的信息,只会使SQL变得混乱。据我所知,它甚至在大多数RDBMS中都是可选的。所以..。为什么人们还在写它?这是一个习惯吗?可移植性?(你的SQL真的是可移植的吗?)还有什么我不知道的吗?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2009-11-16 19:34:58

正如您所写的,OUTER确实是多余的,因为所有的OUTER连接要么是LEFT,要么是RIGHT,反过来,所有的LEFTRIGHT连接都是OUTER。正如你所说,从句法上讲,它主要是噪音。即使在ISO SQL中,它也是可选的。至于为什么人们使用它,我想有些人觉得有必要坚持连接是OUTER的,即使left-or-right关键字已经说明了这一点。就这一点而言,INNER也是多余的!

票数 14
EN

Stack Overflow用户

发布于 2009-11-16 19:34:06

是的

在我看来,这只会让事情变得更清晰--你陈述的意图越清晰越明显(特别是对于后来试图阅读和理解你的代码的其他人来说)。

但这只是我的观点-在技术上不需要,所以你可以使用它-或者离开它。

票数 7
EN

Stack Overflow用户

发布于 2009-11-16 20:10:34

不是的。我使用

  • JOIN
  • LEFT JOIN
  • RIGHT JOIN
  • FULL OUTER
  • CROSS JOIN

这对我来说是没有歧义的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1741604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档