Det här är för långt för en kommentar. Använd inte naturliga sammanfogningar. Bry dig inte om att lära dig naturliga sammanfogningar. De är en styggelse.
Varför? Anslutningsvillkoren är baserade på kolumner med samma namn . Naturliga sammanfogningar tar inte ens hänsyn till deklarerade främmande nyckelrelationer. Detta kan vara ganska farligt. Eller -- i mitt fall -- eftersom nästan alla mina tabeller har CreatedAt
och CreatedBy
, de är värdelösa ändå.
Ange istället join
nycklar. I ditt fall (eftersom du har select *
), den using
klausul är mest lämplig:
SELECT *
FROM R JOIN
S
USING (A, B);
Detta har också fördelen att nycklarna explicit visas i frågan, vilket avsevärt minskar utrymmet för fel.