Der er en NATURAL JOIN
:
SELECT *
FROM subscription
NATURAL JOIN delivery;
Citerer manualen om SELECT
:
Det ville fungere for din testopsætning, men det gør ikke strengt taget det, du beder om . Forbindelsen er baseret på, at alle kolonner deler samme navn. Fremmednøgler tages ikke i betragtning. De tilfælde, hvor NATURAL JOIN
er en god idé, der er få og langt imellem.
Forenkle kode/mindre udførligt
Til at begynde med kan du bruge tabelaliaser, og du behøver ikke parenteser omkring joinbetingelserne med ON
(i modsætning til med USING
):
SELECT *
FROM subscription s
JOIN delivery d ON d.magazine_id = s.magazine_id
AND d.user_id = s.user_id;
Da kolonnenavne i forbindelsesbetingelserne er identiske, kan du forenkle yderligere med USING
:
SELECT *
FROM subscription s
JOIN delivery d USING (magazine_id, user_id);
Der er ingen syntaksvariant, der automatisk laver joins baseret på fremmednøglebegrænsninger. Du bliver nødt til at forespørge systemkatalogerne og bygge SQL dynamisk.