SELECT clause
For finder and select queries, the syntax of the SELECT clause is illustrated in the following example
SELECT [ ALL | DISTINCT ] { single-valued-path-expression | aggregation expression | OBJECT ( identification-variable ) }The SELECT clause consists of either a single identification variable that is defined in the FROM clause, or a single valued path expression that evaluates to a object reference or CMP value. Use the DISTINCT keyword to eliminate duplicate references.
For a query that defines a finder method, the query must return an object type consistent with the home that is associated with the finder method. For example, a finder method for a department home can not return employee objects.
A scalar-subselect is a subselect that returns a single value.
Example: SELECT clause
Find all employees that earn more than John
SELECT OBJECT(e) FROM EmpBean ej, EmpBean e WHERE ej.name = 'John' and e.salary > ej.salaryFind all departments that have one or more employees who earn less than 20000
SELECT DISTINCT e.dept FROM EmpBean e where e.salary < 20000A select method query can have a path expression that evaluates to an arbitrary value
SELECT e.dept.name FROM EmpBean e where e.salary < 2000The previous query returns a collection of name values for those departments having employees earning less than 20000.
A select method query can return an aggregate value
SELECT avg(e.salary) FROM EmpBean e
See Also
EJB query language
Related Tasks
Using EJB query