Hi Eric,
at this stage the query executor is not smart enough to understand that the two syntaxes have the same meaning, it just executes some of the elaboration steps (eg. square bracket filtering) the way they are declared.
There are very important plans about this in the roadmap. In 2.1 we rewrote the SQL parser (one of the reasons is to allow more flexible usage of conditions in square brackets) and in next release we will also rewrite the query executor.
We have many goals to do this:
1. better query language consistency and validation
2. support of more complex queries (eg. with complex conditions in square brackets, or with parameter passing also in subquery - already supported)
3. improved execution planning
4. easiness for future optimization
5. (spoiler) support for declarative querying (pattern matching)
Luigi