SQL-сервер знает о зависимостях таблиц, основанных на внешних ключах, так почему необходимо явно указывать JOIN ON
внешние ключи?
Реальный рабочий пример (этот запрос работает):
SELECT * FROM users
INNER JOIN roles ON users.role_id=roles.id
Неявный пример (этот запрос не работает):
SELECT * FROM users
INNER JOIN roles
Не должен SQL неявнои правильно предположить, что если не указано ключевое слово ON
, соединение должно выполняться на внешних ключах?
Я понимаю, что выгода от этого может быть тривиальной, но после использования этой функции в API-интерфейсах SQL, таких как Java Hibernate'sЯзык запросов Я не понимаю, почему это не будет встроено в SQL.
РЕДАКТИРОВАТЬ
Спасибо за ответы до сих пор.Хотя они и интересны, ни один из них не отвечает на первоначальный вопрос, касающийся SQL Server.