首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >join是什么样的JOIN?

join是什么样的JOIN?
EN

Stack Overflow用户
提问于 2020-05-02 03:56:02
回答 1查看 47关注 0票数 1

我稍微修改了一下PostgreSQL中的连接理论,但找不到我通常使用的语法:

代码语言:javascript
复制
SELECT * FROM TABLE_A A 
JOIN TABLE_B B ON (A.COLUMN_A = B.COLUMN_B) [WHERE ..]

这是什么类型的连接?它是否等同于内连接?

代码语言:javascript
复制
SELECT * FROM TABLE_A A 
INNER JOIN TABLE_B B ON (A.COLUMN_A = B.COLUMN_B) [WHERE ..]
EN

回答 1

Stack Overflow用户

发布于 2021-09-08 18:54:38

@Haleemur Ali是正确的:JOIN本身,没有“形容词”(例如LEFTNATURALOUTER等)是一个INNER JOIN。我自己也想发一个这样的问题,直到我终于找到了这个帖子,所以谢谢。

这里有一些来自W3Resource的证据,我发现它是一个组织得很好的Postgres命令字典:

如果我们想要基于某些连接条件限制组合集,以确定两个参与表中的哪些行在列之间的匹配时被视为返回,则返回

。假设我们想要匹配供应商和订单Ids。下面是这条语句:

代码语言:javascript
复制
select * from supplier join orders on supplier.id=orders.id;

 id |    name    | id | ord_value
----+------------+----+-----------
  1 | Pat        |  1 |      5000
  2 | Kane       |  2 |      8000

或查询可以写成如下形式:

代码语言:javascript
复制
select * from supplier inner join orders on supplier.id=orders.id;
 id |    name    | id | ord_value
----+------------+----+-----------
  1 | Pat        |  1 |      5000
  2 | Kane       |  2 |      8000

你也可以在官方的PostgreSQL documentation上找到这一点,根据IanW.的评论:

INNEROUTER这两个词在所有形式中都是可选的。INNER 是默认的LEFTRIGHTFULL表示外部联接。

(在这里增加了重点。)显然,上面我所说的“形容词”实际上是官方术语中的“限定词”;像OUTER JOINLEFT JOIN这样的连接是限定的连接。你知道的就越多!

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

https://stackoverflow.com/questions/61549805

复制
相关文章

相似问题

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