Hay una NATURAL JOIN
:
SELECT *
FROM subscription
NATURAL JOIN delivery;
Citando el manual en SELECT
:
Funcionaría para su configuración de prueba, pero no está haciendo estrictamente lo que pide . La conexión se basa en que todas las columnas comparten el mismo nombre. No se consideran claves foráneas. Los casos en los que NATURAL JOIN
es una buena idea son pocos y distantes entre sí.
Simplificar código / menos detallado
Para empezar, puede usar alias de tabla y no necesita paréntesis alrededor de las condiciones de unión con ON
(a diferencia de USING
):
SELECT *
FROM subscription s
JOIN delivery d ON d.magazine_id = s.magazine_id
AND d.user_id = s.user_id;
Dado que los nombres de columna en las condiciones de combinación son idénticos, puede simplificar aún más con USING
:
SELECT *
FROM subscription s
JOIN delivery d USING (magazine_id, user_id);
No existe una variante de sintaxis que realice combinaciones basadas en restricciones de clave externa automáticamente. Tendría que consultar los catálogos del sistema y construir el SQL dinámicamente.