postgreSQL 何时对关键字使用括号,ON 与 USING( )

Mar*_*mas 0 sql postgresql syntax parentheses

我注意到,当关键字需要后面的括号时,它看起来是任意的(对我来说)。如果表JOIN由相同名称的列组成,则可以使用USING(ID). 另一种选择是 ON table1.column = table2.column

为什么以及何时需要括号?

小智 5

USING()可以应用于列列表 - 就像USING(id,seq). 没有括号的逗号可能是后面子句的引入,因此当我们将列表放入括号中时,解析器只能安全地确定id和之间的逗号作为列表分隔符。seq

ON另一方面,后面总是跟着一个布尔表达式,它很容易解析:expression - comparison operator - expression