Why do we have gazillion application programming languages, but only one practical relational query language choice: SQL? There are plenty of gripes about SqlFlaws, so it's not like SQL is the pinnacle of query languages.
Why haven't the same pressures that produced gazillion app languages also produced more choice in query languages? I find it an odd puzzle in terms of "technical sociology". I realize databases are more complicated than app languages, but so much so that the ratio of in-use app languages to query languages is something like 1000 to 1? That's hard to swallow.
(Variants of TutorialDee are about the only alternative that seems to have any current momentum. I'm pushing for SmeQl, but am too lazy to implement it so far. I'd like to see TutorialDee variants target type-heavy approaches, and SmeQl target dynamic and type-light approaches, just like we have Java, Ada, and Eiffel on one hand for type-heavy or "compile-heavy" uses; and Python, Perl, and SmallTalk on the other for type-light, dynamic, or type-flexible uses.)
I'll float a list of the possible reasons: