SELECT [ {result} ] [FROM {candidate-classes} ] [WHERE {filter}] [GROUP BY {grouping-clause} ] [HAVING {having-clause} ] [ORDER BY {ordering-clause}] e.g SELECT c FROM Customer c INNER JOIN c.orders o WHERE c.status = 1 or UPDATE {update-clause} WHERE {filter} and update-clause is of the form "Entity [[AS] identifier] SET {field = new_value}, ..." or DELETE {delete-clause} WHERE {filter} and delete-clause is of the form "FROM Entity [[AS] identifier]" Note that {filter} and {having-clause} can contain subqueries, hence containing keywords
SELECT c FROM Customer c WHERE NOT EXISTS (SELECT o1 FROM c.orders o1)So the "filter" for the outer query is "NOT EXISTS (SELECT o1 FROM c.orders o1)" @version $Revision: 1.5 $
| |