✅ 서브 쿼리
select m from Member m
where m.age > (select avg(m2.age) from Member m2)
select m from Member m
where (select count(o) from Order o where m = o.member) > 0
✅서브 쿼리 지원 함수
[NOT] EXISTS (subquery): 서브쿼리에 결과가 존재하면 참
• {ALL | ANY | SOME} (subquery)
• ALL 모두 만족하면 참
• ANY, SOME: 같은 의미, 조건을 하나라도 만족하면 참
[NOT] IN (subquery): 서브쿼리의 결과 중 하나라도 같은 것이 있으면 참
ALL 과 ANY 이해
✅ 서브 쿼리 - 예제
select m from Member m
where exists (select t from m.team t where t.name = ‘팀A')
- 전체 상품 각각의 재고보다 주문량이 많은 주문들
select o from Order o
where o.orderAmount > ALL (select p.stockAmount from Product p)
select m from Member m
where m.team = ANY (select t from Team t)
✅ JPA 서브 쿼리 한계