De bedoeling is een onvoorwaardelijk LEFT JOIN
, wat anders . is van een CROSS JOIN
in die zin dat alle rijen van de linkertabeluitdrukking worden geretourneerd, zelfs als er geen overeenkomst is in de rechtertabeluitdrukking - terwijl een CROSS JOIN
laat dergelijke rijen uit het resultaat vallen. Meer over joins in de handleiding.
Maar:
1=1
is zinloos in Postgres en alle derivaten, inclusief Amazon Redshift. Gebruik gewoon true
. Dit is waarschijnlijk overgenomen van een ander RDBMS dat de boolean
niet ondersteunt typ correct.
... LEFT JOIN (SELECT ...) ue ON true
Dan nogmaals, LEFT JOIN
is zinloos voor deze specifieke subquery met SELECT MIN(modified) FROM user
aan de rechterkant, omdat een SELECT
met een aggregatiefunctie (min()
) en geen GROUP BY
clausule geeft altijd precies één rij terug. Dit geval (maar niet in andere gevallen waarin geen rij kan worden gevonden) kan worden vereenvoudigd tot:
... CROSS JOIN (SELECT MIN(modified) AS first_modified FROM user) ue