Re: Join condition parsing puzzle
От | Mark Jeffcoat |
---|---|
Тема | Re: Join condition parsing puzzle |
Дата | |
Msg-id | CAOT_8kZJrtPDRvSJ41iLk+jKAyrZNssT-92w2gYD+7fsELqGTg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Join condition parsing puzzle (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-general |
On Thu, Aug 23, 2018 at 4:51 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > > Mark Jeffcoat <jeffcoat@alumni.rice.edu> writes: > > I would have claimed before seeing this example that it wasn't even > > grammatical; I thought the only legal place to write the ON clause was > > immediately after the JOIN. Apparently not. > > You read it as > > SELECT * > FROM > relation_a > LEFT JOIN (relation_b > JOIN relation_c > ON (relation_c.id_p = relation_b.id_p)) > ON (relation_a.id_c = relation_b.id_c AND relation_a.id_v = relation_b.id_v); > > There's no other valid way to parenthesize it, so that's what > the parser does. Thank you very much for your help, Tom. In retrospect, I see I'd over-generalized the rule that sub-selects in the from clause require an alias. Clear now. -- Mark Jeffcoat Austin, TX
В списке pgsql-general по дате отправления: