Для некоторых из тех, которые не были объяснены постом Мэтью:
Простое соединение - неявное соединение, по умолчанию используется внутреннее соединение
a join b on a.id = b.id
Естественное соединение - Этовыполняет внутреннее соединение для всех столбцов с одинаковым именем
a natural join b
Self Join - это соединение таблицы с самим собой, это может быть любой другой тип объединения (внутреннее самостоятельное соединение, внешнее самостоятельное соединение и т. д.)1009 *
a "a1" join a "a2" on "a1".id = "a2".id
Декартово объединение - это любая возможная комбинация строк, в результате вы всегда получите произведение количества строк в обеих таблицах.Вы делаете это с внутренним объединением без указания условия объединения
a join b
Перекрестное объединение - это синоним декартового объединения
Внутреннее соединение с предложением USING - Это альтернативный синтаксис дляусловия соединения, вы можете использовать его, если обе таблицы имеют совпадающие имена столбцов
a join b using (id)
Внутреннее объединение с предложением ON - это то же самое, что я показал для простого соединения, единственный другой синтаксис - объединение впредложение where (как показано ниже)
a join b where a.id = b.id
Left Outer Join - То же, что левое соединение. Right Outer Join - То же, что правое соединение.Это как левое соединение, но вы получаете пустые значения на первом столе, а не на втором