Ambas uniones me darán los mismos resultados:
SELECT * FROM table JOIN otherTable ON table.ID = otherTable.FK
vs
SELECT * FROM table INNER JOIN otherTable ON table.ID = otherTable.FK
¿Hay alguna diferencia entre las declaraciones en el desempeño o no?
¿Difiere entre diferentes implementaciones de SQL ?
sql
sql-server
join
inner-join
driis
fuente
fuente
Respuestas:
Son funcionalmente equivalentes, pero
INNER JOIN
pueden ser un poco más claros de leer, especialmente si la consulta tiene otros tipos de unión (es decir,LEFT
orRIGHT
oCROSS
) incluidos en ella.fuente
No, no hay diferencia, azúcar sintáctica pura .
fuente
INNER
cae dentro de esta definición.INNER
hace no hacen la consulta más fácil de leer. Por lo que sé,JOIN
bien podría significarLEFT JOIN
si no fue aclarado por las respuestas aquí.UNIÓN INTERNA = UNIRSE
O
fuente
Sí, Microsoft Access no permite solo
join
. Se requiereinner join
.fuente
De manera similar con
OUTER JOINs
, la palabra"OUTER"
es opcional. Es la palabra claveLEFT
o laRIGHT
que hace que elJOIN
an"OUTER" JOIN
.Sin embargo, por alguna razón, siempre uso
"OUTER"
como enLEFT OUTER JOIN
y nuncaLEFT JOIN
, pero nunca usoINNER JOIN
, sino que solo uso"JOIN"
:fuente
Como las otras respuestas ya indican que no hay diferencia en su ejemplo.
Aquí se documenta la parte gramatical relevante.
Mostrando que todos son opcionales. La página aclara aún más que
Sin embargo, la gramática también indica que hay un momento en el que
INNER
se requiere. Al especificar una sugerencia de unión.Vea el ejemplo a continuación.
fuente