Dette er for langt til en kommentar. Brug ikke naturlige sammenføjninger. Gider ikke lære naturlige joinforbindelser. De er en vederstyggelighed.
Hvorfor? Sammenkædningsbetingelserne er baseret på kolonner med de samme navne . Naturlige sammenføjninger tager ikke engang erklærede udenlandske nøgleforhold i betragtning. Dette kan være ret farligt. Eller -- i mit tilfælde -- fordi næsten alle mine tabeller har CreatedAt
og CreatedBy
, de er alligevel ubrugelige.
Angiv i stedet join
nøgler. I dit tilfælde (fordi du har select *
), den using
klausul er mest passende:
SELECT *
FROM R JOIN
S
USING (A, B);
Dette har også den fordel, at nøglerne er eksplicit vist i forespørgslen, hvilket i høj grad reducerer muligheden for fejl.