<p>I was reading about <a href="http://en.wikipedia.org/wiki/App_Engine" rel="noreferrer">App Engine</a> on wikipedia and came across some GQL restrictions:</p>

<ul>
<li><p>JOIN is not supported</p></li>
<li><p>can SELECT from at most one table at a time</p></li>
<li><p>can put at most 1 column in the WHERE clause</p></li>
</ul>

<p>What are the advantages of these restrictions?</p>

<p>Are these restrictions common in other places where scalability is a priority?</p>

The datastore that GQL talks to is:
not a relational database like MySQL or PostgreSQL
is a Column-oriented DBMS called BigTable
One reason to have a database like this is to have a very high performance database that you can scale across hundreds of servers.
GQL is not SQL it is SQL-like.
Here are some references:
http://en.wikipedia.org/wiki/Column-oriented_DBMS
http://en.wikipedia.org/wiki/BigTable
http://code.google.com/appengine/docs/datastore/overview.html
http://code.google.com/appengine/docs/datastore/gqlreference.html