Единственный раз, когда я думаю о правильном внешнем соединении, - это если я исправляю полное соединение, и так получилось, что мне нужен результат, чтобы содержать все записи из таблицы справа. Хотя, хотя и ленивый, как я, мне было бы так досадно, что я перестрою его, чтобы использовать левое соединение.
Этот пример из Wikipedia показывает, что я имею в виду:
SELECT *
FROM employee
FULL OUTER JOIN department
ON employee.DepartmentID = department.DepartmentID
Если вы просто замените слово FULL
на RIGHT
, у вас есть новый запрос, не заменяя порядок предложения ON
.