There's now a new and somewhat easier way to write SimpleDB queries.
In addition to SimpleDB's existing query language, you can now use select statements which look very similar to standard SQL (Structured Query Language). We made some small changes and additions to the language in order to accomodate SimpleDB's unique multi-valued attribute model.
Here are some valid select statements:
select * from mydomain where city = 'Seattle' or city = 'Portland'
select * from mydomain where author not like 'Henry%'
Things get even more interesting once multi-valued atttibutes are used. This query returns the items where the only attribute value for keyword is 'Book':
The following query returns items where the only value for keyword is 'Book' or Paperback':
And the following query returns all the items which have the values 'Book' and 'Hardcover' in keyword:
You can also sort the results on any of the attributes that was used in the expression:
The new SimpleDB Select function accepts queries in this new syntax. The existing Query and QueryWithAttributes functions are still usable, of course. There's full information in the new version of the Developer Guide.