Ambas as junções me fornecerão os mesmos resultados:
SELECT * FROM table JOIN otherTable ON table.ID = otherTable.FK
vs
SELECT * FROM table INNER JOIN otherTable ON table.ID = otherTable.FK
Existe alguma diferença entre as declarações de desempenho ou não?
Difere entre diferentes implementações SQL ?
sql
sql-server
join
inner-join
driis
fonte
fonte
Respostas:
Eles são funcionalmente equivalentes, mas
INNER JOIN
podem ser um pouco mais claros de ler, especialmente se a consulta tiver outros tipos de junção (ieLEFT
ouRIGHT
ouCROSS
) incluídos nela.fonte
Não, não há diferença, açúcar sintático puro .
fonte
INNER
se enquadra nessa definição.INNER
que não fazer a consulta mais fácil de ler. Pelo que sei,JOIN
poderia muito bem significarLEFT JOIN
se não fosse esclarecido pelas respostas aqui.INNER JOIN = JOIN
OU
fonte
Sim, o Microsoft Access não permite apenas
join
. Exigeinner join
.fonte
Da mesma forma com
OUTER JOINs
, a palavra"OUTER"
é opcional. É a palavraLEFT
-RIGHT
chave ou que faz oJOIN
an"OUTER" JOIN
.No entanto, por alguma razão, eu sempre uso
"OUTER"
como emLEFT OUTER JOIN
e nuncaLEFT JOIN
, mas nunca usoINNER JOIN
, mas apenas uso"JOIN"
:fonte
Como as outras respostas já afirmam, não há diferença no seu exemplo.
A parte relevante da gramática está documentada aqui
Mostrando que todos são opcionais. A página esclarece ainda que
A gramática também indica que há um momento em que isso
INNER
é necessário. Ao especificar uma dica de junção.Veja o exemplo abaixo
fonte