SELECT OBJECT(A) from A for Account.Bean, OBJECT(B) from B
for Account.Bean
ORDER BY A.id ASC; B.salary DESC
使用子查询
WebLogic Server 支持在 EJB QL 中使用子查询的下列功能:
子查询返回类型
一个 cmp-field
聚合函数
包含单一主键的 Bean
作为比较操作数的子查询
关联的子查询
无关联的子查询
包含子查询的 DISTINCT 子句
WebLogic QL 和子查询之间的关系与 SQL 查询和子查询之间的关系类似。可在外部
WebLogic QL 查询的 WHERE 子句中使用 WebLogic QL 子查询。子查询的语法与
WebLogic QL 查询的语法相同,只有少数例外情况。
要指定 WebLogic QL,请参阅为 EJB QL 使用 EJB 2.x WebLogic QL 扩展。请通过指
定子查询的 SELECT 语句使用这些说明,如下例中所示。
以下查询根据所提供的成绩编号选择所有处于平均成绩以上的学生:
SELECT OBJECT(s) FROM studentBean AS s WHERE s.grade > (SELECT AVG(s2.grade)
FROM StudentBean AS s2)
注
意:
在上面的查询中,子查询 (SELECT AVG(s2.grade) FROM StudentBean
AS s2) 的语法与 EJB QL 查询的语法相同。
可以创建嵌套的子查询。嵌套深度受底层数据库的嵌套功能限制。
在 WebLogic QL 查询中,主查询及其所有子查询的 FROM 子句中声明的标识符必须是
唯一的。这意味着,子查询不可以对一个以前声明的供在子查询内本地使用的标识符进行
重新声明。
例如,以下示例在查询和子查询中都将 EmployeeBean 声明为 emp,因此是非法的:
SELECT OBJECT(emp)
FROM EmployeeBean As emp