2015-06-17 2 views
-2

Заседание здесь при написании SQL в первый раз за время. Я знаю все вендиграммы всех подключений, но мне было интересно, какое именно соединение я только что написал. Это даже типичное соединение, так как я не использую ключевое слово «JOIN»?Является ли это объединением слева или справа, внутренним или внешним?

select * from table1 t, table2 a where a.column1 = -10300 AND t.column1 = a.column2; 

Спасибо, k9

+1

Похоже на внутреннее соединение – Batman

+1

Просто комментарий к названию. Левое и правое соединения являются внешними соединениями. Я не делаю предположений, но неясно, узнали ли вы это. – shawnt00

+0

Еще одна причина использования явных объединений и неявных. Они не в стиле уже более 20 лет и имеют множество веских причин. –

ответ

0

Его внутренний присоединиться, как вы использовали внутреннее соединение логики в тех случаях, когда.

+0

Это неверно. Таблицы все еще могут быть объединены без фактического использования оператора объединения. – Batman

+0

@HandyPete, Обновлено. Просто не фокусировался на вопросе. –

+0

Точка остается. Это все еще соединение, просто синтаксически другое. – Batman

0

Это то, что будет рассматриваться как старый стиль внутреннего соединения.

0

В MySQL письменной форме JOIN unqualified подразумевает INNER JOIN. Другими словами, INNER в INNER JOIN является необязательным. Официальная документация о СОЕДИНЕНИИ here

0

Это старинное внутреннее соединение оракула. Он даст вам все строки из обеих таблиц, где находится столбец, что в значительной степени является внутренним соединением.

FYI, это стандартная практика в Oracle SQL, прежде чем все перешло к стандартному стандарту ANSI.

Смежные вопросы