Има NATURAL JOIN
:
SELECT *
FROM subscription
NATURAL JOIN delivery;
Цитирайки ръководството за SELECT
:
Ще работи за вашата тестова настройка, но не изпълнява стриктно това, което искате . Връзката се основава на всички колони, които споделят едно и също име. Външните ключове не се вземат предвид. Случаите, при които NATURAL JOIN
е добра идея да са малко и рядко.
Опростете кода / по-малко многословен
Като за начало можете да използвате псевдоними на таблици и нямате нужда от скоби около условията за присъединяване с ON
(за разлика от USING
):
SELECT *
FROM subscription s
JOIN delivery d ON d.magazine_id = s.magazine_id
AND d.user_id = s.user_id;
Тъй като имената на колоните в условията за присъединяване са идентични, можете допълнително да опростите с USING
:
SELECT *
FROM subscription s
JOIN delivery d USING (magazine_id, user_id);
Няма вариант на синтаксиса, който автоматично да създава съединения въз основа на ограничения на чужд ключ. Ще трябва да направите запитване до системните каталози и да изградите SQL динамично.