Здравствуйте, alex_public, Вы писали:
_>Зачем врать то? ) Появилось оно не в конце 2000-ых, а вполне себе в 2012, т.е. через несколько лет после появления в стандарте. И через десятилетие после того, как этим спокойно работали пользователи нормальных СУБД.
Судя по всему, под "нормальными" СУБД вы имеете в виду MySQL. Это в очередной раз показывает, что рассуждать на эту тему вам рановато.
Но это неважно, потому что мы живём не в мире "нормальных" СУБД, а в реальном мире. Где нет единой СУБД на все случаи жизни, где диалекты отличаются, и даже качество поддержки одного и того же ANSI SQL существенно различно. Тот же MySQL, который вам так нравится за лояльный синтаксис, имел в те давние годы привычку тупо падать на мало-мальски сложных подзапросах.
Вот например:
http://stackoverflow.com/questions/2298497/mysql-left-join-subquery-fail
Кроме того, над его оптимизатором не смеялся только ленивый:
http://www.xaprb.com/blog/2006/04/30/how-to-optimize-subqueries-and-joins-in-mysql/
Это означает, что приложению лучше бы приготовиться к тому, что надо оптимизировать запросы самостоятельно. И для тех СУБД, которые лучше работают с subquery, использовать subquery, а для тех, кто хорошо оптимизирует join, использовать join. И вот linq предлагает такой способ. А sqlpp — это всего лишь низкоуровневая проверялка синтаксиса для SQL в C++.