-
카테고리
-
세부 분야
데이터 분석
-
해결 여부
해결됨
강사님 with 와 서브쿼리에 대해 질문이 있습니다.
23.06.21 21:52 작성 조회수 79
0
with
temp_01 as (
select avg(sal) as emp_avg from emp
)
select deptno ,avg(sal)
from emp
group by deptno
having avg(sal) > (select emp_avg from temp_01);
-- 전체 평균 급여보다 부서평균 급여가 높은 부서 번호를 출력하세요
having에서 조건을 비교하는 방식을 사용한다고 한다면
강사님께서는 having에 서브쿼리를 사용하게 되면 ,
그 서브쿼리를 매번 실행하다보니 추천을 하지 않는다고 하셨는데
여기서 with로 임시 테이블을 지정하면
이미 재사용하기 편하기 위해서 temp_01로 만들어서 사용하면
임시 서브쿼리 테이블을 사용하니까 비상관 서브쿼리를 날리는 거보다 좀 더 나은 걸까요?
답변을 작성해보세요.
1
권 철민
지식공유자23.06.22 15:41
안녕하십니까,
네, 그렇게 사용하셔도 됩니다.
그리고 이건 강의 내용이 좀 바뀌어야 할 것 같습니다.
상관 서브쿼리를 having절에 사용하지 말라는 의미가 되어야 하는데, 비상관은 말씀하신대로 그렇게 사용하시면 됩니다.
감사합니다.
답변 1