Оба этих соединения дадут мне одинаковые результаты:
SELECT * FROM table JOIN otherTable ON table.ID = otherTable.FK
против
SELECT * FROM table INNER JOIN otherTable ON table.ID = otherTable.FK
Есть ли разница между утверждениями в исполнении или иным образом?
Отличается ли он между разными SQL реализациями ?
sql
sql-server
join
inner-join
driis
источник
источник
Ответы:
Они функционально эквивалентны, но
INNER JOIN
могут быть немного понятнее для чтения, особенно если в запрос включены другие типы соединения (т. Е.LEFT
ИлиRIGHT
илиCROSS
), включенные в него.источник
Нет, разницы нет, чистый синтаксический сахар .
источник
INNER
подпадает под это определение.INNER
ничего не делает легче читать запрос. Насколько я знаю, этоJOIN
вполне может означать,LEFT JOIN
если это не проясняется ответами здесь.INNER JOIN = ПРИСОЕДИНИТЬСЯ
ИЛИ
источник
Да, Microsoft Access не позволяет просто
join
. Это требуетinner join
.источник
Аналогично
OUTER JOINs
, слово"OUTER"
необязательно. ЭтоLEFT
илиRIGHT
ключевое слово , которое делаетJOIN
ап"OUTER" JOIN
.Однако по какой-то причине я всегда использую
"OUTER"
какLEFT OUTER JOIN
и никогдаLEFT JOIN
, но никогда не используюINNER JOIN
, а просто использую"JOIN"
:источник
Поскольку другие ответы уже заявляют, нет разницы в вашем примере.
Соответствующая часть грамматики задокументирована здесь
Показано, что все необязательно. Страница дополнительно поясняет, что
Грамматика делает также показывают , что существует один раз , когда
INNER
это требуется , хотя. При указании подсказки присоединения.Смотрите пример ниже
источник