关键字 USING 在 PostgreSQL 中是如何工作的?

Nan*_*r V 9 postgresql

我对USING用于在 postgres 中连接两个表的关键字感到困惑。我第一次看到它是在另一个 SO 帖子中比较 postgres 中的两个表。我检查了 postgres 2.6的手册表之间的连接
我无法理解 postgres 如何识别user_id要加入的(在 SO 帖子中)

Sam*_*nen 21

正如PostgreSQL 文档所述:

USING 子句是一种简写,它允许您利用联接的双方对联接列使用相同名称的特定情况。它采用逗号分隔的共享列名称列表,并形成一个连接条件,其中包括对每个名称的相等比较。例如,使用 USING (a, b) 连接 T1 和 T2 会产生连接条件 ON T1.a = T2.a AND T1.b = T2.b。

简单地说,在这种情况下,两个表都有列user_id,连接是基于它们完成的。

  • @NandakumarV 该文档可以使用一些交叉链接或增强功能,我还必须进行一些挖掘才能真正找到解释这一点的地方 (2认同)