Вопросы к Поиску с Алисой
NATURAL JOIN и USING отличаются подходом к объединению столбцов в таблицах PostgreSQL. postgrespro.ru it.rfet.ru
USING — сокращённая запись условия, которая полезна в ситуации, когда с обеих сторон соединения столбцы имеют одинаковые имена. postgrespro.ru USING принимает список общих имён столбцов через запятую и формирует условие соединения с равенством этих столбцов. postgrespro.ru В результате JOIN USING выводит один столбец для каждой пары (в указанном порядке), за ними все оставшиеся столбцы из одной таблицы и, наконец, все оставшиеся столбцы из другой. postgrespro.ru
NATURAL JOIN — сокращённая форма USING, которая образует список из всех имён столбцов, существующих в обеих входных таблицах. postgrespro.ru www.postgresql.org Как и с USING, эти столбцы оказываются в выходной таблице в единственном экземпляре. postgrespro.ru Если столбцов с одинаковыми именами не находится, NATURAL JOIN действует как JOIN … ON TRUE и выдаёт декартово произведение строк. postgrespro.ru
Кроме того, USING защищён от изменений в соединяемых отношениях, так как связывает только явно перечисленные столбцы. postgrespro.ru NATURAL JOIN считается более рискованным, так как при любом изменении схемы в одном или другом отношении, когда появляются столбцы с совпадающими именами, при соединении будут связываться и эти новые столбцы. postgrespro.ru