EXISTS predicate

The exists predicate tests for the presence or absence of a condition specified by a subselect

EXISTS ( subselect )

EXISTS collection-valued-path-expression

The result of EXISTS is true if the subselect returns at least one value or the path expression evaluates to a nonempty collection, otherwise the result is false.

To negate an EXISTS predicate, precede it with the logical operator NOT.

 

Example: EXISTS predicate

Return departments that

have at least one employee earning more than 1000000

SELECT  OBJECT(d) FROM  DeptBean d 
WHERE EXISTS ( SELECT  1  FROM IN (d.emps) e WHERE  e.salary > 1000000 )

Return departments that have no employees

SELECT OBJECT(d) FROM DeptBean d 
WHERE NOT EXISTS  ( SELECT 1 FROM IN (d.emps) e)

The above query can also be written as follows

SELECT OBJECT(d) FROM DeptBean d WHERE NOT EXISTS d.emps


 

See Also


EJB query language
WHERE clause

 

Related Tasks


Using EJB query