Hensigten er en ubetinget LEFT JOIN
, hvilket er anderledes fra en CROSS JOIN
ved at alle rækker fra det venstre tabeludtryk returneres, selvom der ikke er noget match i det højre tabeludtryk - mens en CROSS JOIN
taber sådanne rækker fra resultatet. Mere om joinforbindelser i manualen.
Dog:
1=1
er meningsløst i Postgres og alle derivater inklusive Amazon Redshift. Brug bare true
. Dette er sandsynligvis blevet overført fra et andet RDBMS, der ikke understøtter boolean
skriv korrekt.
... LEFT JOIN (SELECT ...) ue ON true
Så igen, LEFT JOIN
er meningsløst for denne særlige underforespørgsel med SELECT MIN(modified) FROM user
til højre, fordi en SELECT
med en aggregeret funktion (min()
) og ingen GROUP BY
klausul returnerer altid nøjagtig én række. Dette tilfælde (men ikke andre tilfælde, hvor ingen række kan findes) kan forenkles til:
... CROSS JOIN (SELECT MIN(modified) AS first_modified FROM user) ue