Это проблемы с использованием синтаксиса where (также известного как неявное соединение):
Во-первых, слишком легко получить случайные перекрестные объединения, потому что условия объединения не совсем рядом с именами таблиц. Если у вас есть 6 таблиц, объединяемых вместе, легко пропустить одну в предложении where. Вы увидите, что это исправлено слишком часто, используя отличное ключевое слово. Это огромный удар по производительности для базы данных. Вы не можете получить случайное перекрестное соединение, используя явный синтаксис соединения, так как он не пройдет проверку синтаксиса.
Правое и левое объединение проблематично (на сервере SQl вы не гарантированно получите правильные результаты) в старом синтаксисе в некоторых базах данных. В дальнейшем они устарели в SQL Server, я знаю.
Если вы намереваетесь использовать перекрестное соединение, это не ясно из старого синтаксиса. Это ясно с использованием текущего стандарта ANSII.
Сопровождающему гораздо сложнее точно увидеть, какие поля являются частью объединения или какие таблицы объединяются в каком порядке с использованием неявного синтаксиса. Это означает, что может потребоваться больше времени для пересмотра запросов. Я знал очень мало людей, которые, как только они нашли время, чтобы чувствовать себя комфортно с явным синтаксисом соединения, когда-либо возвращались к старому пути.
Я также заметил, что некоторые люди, использующие эти неявные объединения, на самом деле не понимают, как работают объединения, и поэтому получают неверные результаты в своих запросах.
Честно говоря, вы бы использовали какой-нибудь другой код, который был заменен более совершенным методом 18 лет назад?