I think part of the reason so many people don't like SQL is that there's like 5 keywords in SQL that work everywhere and anything complicated or interesting is in 35 different and incompatible database-specific dialects.
There's also two different but completely valid ways of doing joins and 95% of people know only one or the other syntax and so find each other's queries totally unreadable.