HQL语句子查询实例介绍。以及相关的注意事项。
(1)底层数据库支持子查询,则可以在HQL语句中使用子查询。如下:
from Cat as fatcat where fatcat.weight > (select avg(cat.weight) from DomesticCat cat)
(2)子查询是多行结果集,则应该使用多行运算符。如下:
from Cat as cat where not(cat.name, cat.color) in (select cat.name, cat.color from DomesticCat cat)
(3)SQL语法中子查询还可以出现在select子句之后,HQL也支持这种用法,看如下HQL语句:
select cat.id,(select max(kit.weight) from cat.kitten kit)
from Cat as cat
HQL子查询只可以在select子句或者where子句中出现。