I've noticed that it appears arbitrary (to me) when keywords will require a following parentheses. If a table is JOIN
ed by identically named columns, you use USING(ID)
. The alternative is ON table1.column = table2.column
.
Why and when are parentheses required?
CodePudding user response:
USING()
can be applied on a list of columns - like in USING(id,seq)
. The comma, without the parentheses, could be the introduction of a following clause, so the parser can only safely determine the comma between id
and seq
as a list separator when we put the list into parentheses.
ON
, on the other side, is always followed by a Boolean expression, which is straightforward to parse: expression - comparison operator - expression
.