Намерението е безусловно LEFT JOIN
, което еразлично от CROSS JOIN
в това, че всички редове от левия табличен израз се връщат, дори ако няма съвпадение в десния табличен израз - докато CROSS JOIN
пуска такива редове от резултата. Повече за присъединяванията в ръководството.
Въпреки това:
1=1
е безсмисленото в Postgres и всички производни, включително Amazon Redshift. Просто използвайте true
. Това вероятно е пренесено от друга RDBMS, която не поддържа boolean
въведете правилно.
... LEFT JOIN (SELECT ...) ue ON true
След това отново LEFT JOIN
е безсмислено за тази конкретна подзаявка с SELECT MIN(modified) FROM user
вдясно, защото SELECT
с агрегатна функция (min()
) и без GROUP BY
клаузата винаги връща точно един ред. Този случай (но не и други случаи, при които няма ред може да се намери) може да бъде опростена до:
... CROSS JOIN (SELECT MIN(modified) AS first_modified FROM user) ue