iPhone app with Google App Engine
GQL offers almost no functionality at all; it's only used for SELECT queries, and it only exists to make writing SELECT queries easier for SQL programmers.  Behind the scenes, it converts your queries to db.Query objects.
The App Engine datastore isn't a relational database at all.  You can do some stuff that looks relational, but my advice for anyone coming from an SQL background is to avoid GQL at all costs to avoid the trap of thinking the datastore is anything at all like an RDBMS, and to forget everything you know about database design.  Specifically, if you're normalizing anything, you'll soon wish you hadn't.
I've prototyped an iPhone app that uses (internally) SQLite as its data base.  The intent was to ultimately have it communicate with a server via PHP, which would use MySQL as the back-end database.  
I just discovered Google App Engine, however, but know very little about it.  I think it'd be nice to use the Python interface to write to the data store - but I know very little about GQL's capability.  I've basically written all the working database code using MySQL, testing internally on the iPhone with SQLite.  Will GQL offer the same functionality that SQL can?  I read on the site that it doesn't support join queries.  Also is it truly relational?  
Basically I guess my question is can an app that typically uses SQL backend work just as well with Google's App Engine, with GQL?
I hope that's clear... any guidance is great.