我稍微修改了一下PostgreSQL中的连接理论,但找不到我通常使用的语法:
SELECT * FROM TABLE_A A
JOIN TABLE_B B ON (A.COLUMN_A = B.COLUMN_B) [WHERE ..]这是什么类型的连接?它是否等同于内连接?
SELECT * FROM TABLE_A A
INNER JOIN TABLE_B B ON (A.COLUMN_A = B.COLUMN_B) [WHERE ..]发布于 2021-09-08 18:54:38
@Haleemur Ali是正确的:JOIN本身,没有“形容词”(例如LEFT,NATURAL,OUTER等)是一个INNER JOIN。我自己也想发一个这样的问题,直到我终于找到了这个帖子,所以谢谢。
这里有一些来自W3Resource的证据,我发现它是一个组织得很好的Postgres命令字典:
如果我们想要基于某些连接条件限制组合集,以确定两个参与表中的哪些行在列之间的匹配时被视为返回,则返回
。假设我们想要匹配供应商和订单Ids。下面是这条语句:
select * from supplier join orders on supplier.id=orders.id;
id | name | id | ord_value
----+------------+----+-----------
1 | Pat | 1 | 5000
2 | Kane | 2 | 8000或查询可以写成如下形式:
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.的评论:
INNER和OUTER这两个词在所有形式中都是可选的。INNER 是默认的;LEFT、RIGHT和FULL表示外部联接。
(在这里增加了重点。)显然,上面我所说的“形容词”实际上是官方术语中的“限定词”;像OUTER JOIN或LEFT JOIN这样的连接是限定的连接。你知道的就越多!
https://stackoverflow.com/questions/61549805
复制相似问题