That's one of the reasons why the whole 'NoSQL' thing is silly. No SQL picks the wrong battle. SQL just fine as a compact language for expressing certain things.
I don't think it's silly at all. If you give something a name, people can start talking and reasoning about it. The same thing happened with AJAX - the name was dumb (it doesn't have to be Asynchronous, it doesn't have to use XML and it doesn't even need to use JavaScript) but the term kicked off something of a revolution in web development just by giving people the vocabulary to discuss it. It feels to me like the term NoSQL is having the same kind of effect - for the first time in years, developers are talking and thinking critically about their choice of data persistence layer.
The trade off you make to get the performance attributes, scalability, schemaless flexibility, etc from a NoSQL storage solution is that you end up in a different query situation. Things like joins aren't as easy - but at the same time the cost of doing what in RDBMS land you'd consider "Denormalizing" (potentially duplicating data as needed) is much, much lower.
As for translation, the Mongo guys have produced a JDBC driver (for those of you stuck in java land, but at the least it's a code model for "Howto"; disclaimer: I haven't had a chance to use it yet) that supports some automatic translation of SQL statements to Mongo queries - http://github.com/erh/mongo-jdbc
http://rickosborne.org/blog/index.php/2010/02/19/yes-virgini...
I've submitted it here:
http://news.ycombinator.com/item?id=1166876