Me pregunto si CROSS JOIN
se puede reemplazar de forma segura con INNER JOIN
en cualquier consulta cuando se encuentre.¿CROSS JOIN es un sinónimo de INNER JOIN sin la cláusula ON?
¿Es INNER JOIN
sin ON
o USING
exactamente lo mismo que CROSS JOIN
? En caso afirmativo, ¿se ha inventado el tipo CROSS JOIN
solo para expresar mejor la intención en una consulta?
Un apéndice a esta pregunta sería:
¿Puede haber una diferencia usando moderna y DBMSes ampliamente utilizado cuando se usa CROSS JOIN ... WHERE x
, INNER JOIN ... ON (x)
o INNER JOIN ... WHERE (x)
?
Gracias.
Gracias por la respuesta. ¿La condición 'ON' es obligatoria de acuerdo con el estándar para' INNER JOIN's? – Benoit
@Benoit: de acuerdo con 'SQL-92', no lo es. Sin embargo, no tengo una copia de '2003' o' 2008' a mano. Todas las bases de datos excepto 'MySQL' lo requieren. – Quassnoi
@Quassnoi: SQLite no. – Benoit