Das ist zu lang für einen Kommentar. Verwenden Sie keine natürlichen Joins. Kümmern Sie sich nicht darum, natürliche Joins zu lernen. Sie sind ein Greuel.
Wieso den? Die Join-Bedingungen basieren auf Spalten mit denselben Namen . Natürliche Joins berücksichtigen nicht einmal deklarierte Fremdschlüsselbeziehungen. Das kann ziemlich gefährlich werden. Oder – in meinem Fall – weil fast alle meine Tabellen CreatedAt
haben und CreatedBy
, sie sind sowieso nutzlos.
Listen Sie stattdessen join
auf Schlüssel. In Ihrem Fall (weil Sie select *
), die using
Klausel ist am besten geeignet:
SELECT *
FROM R JOIN
S
USING (A, B);
Dies hat auch den Vorteil, dass die Schlüssel explizit in der Abfrage angezeigt werden, was die Fehleranfälligkeit stark reduziert.