인라인 뷰
하나의 질의문 내에서만 생성되어 사용 되어지고 질의문 수행 종료 후에는 사라지는 뷰
-- 뷰의 명시적인 선언 ( 즉 , Create View 문 ) 이 없음
-- FROM 절에서 참조하는 테이블의 크기가 클 경우 , 필요한 행과 속성만으로
구성된 집합으로 정의하여 질의문을 효율적으로 구성함
-- FROM 절에서 서브 쿼리를 사용하여 생성하는 임시 뷰
예 ) 부서별 평균 급여 파악하기
-> 부서번호로 나와있음
-> 부서명도 알고싶음
-> 사원테이블과 부서테이블의 조인이 필요함
select dname, avg(salary) from department d, employdd e where d.dno=e.dno group by dname;
예) 인라인뷰를 이용하여 부서별 부서명, 평균급여 출력하기
select dname, avg_sal from (select dno, avg(salary) as avg_sal
from employee group by dno) as s, department d
where s.dno = d.dno;
with절
: 인라인뷰의 또 다른 정의 방법
with 임시테이블 (속성명 ) as (select ~ from~ where )
-- from절에 임시 질의 결과를 정의하는 대신 with절을 이용하여 임시테이블을 생성함
예) with 절을 사용하여 부서별 급여평균 , 부서명을 출력하기
-- with절의 as문 이후의 질의 결과를 s라는 임시 테이블로 생성함
-- 메인 질의문에서는 s테이블과 부서테이블의 조인으로 표현함
with s(dno,avg_sal)
as(select dno, avg(salary) from employee group by dno) select dname, avg_sal
from s, department
where department.dno=s.dno;
'Programming > SQL' 카테고리의 다른 글
[SQL] 저장프로시저와 사용자정의함수 (0) | 2020.12.18 |
---|---|
[SQL/실습] 뷰 생성 / 뷰 적용 실습해보기 (0) | 2020.12.18 |
[SQL] 뷰(view) - 뷰의 개념 / 필요성 / 장단점 / 구문 / 종류 (0) | 2020.12.17 |
[SQL] 인덱스 - 생성 / 삭제 / 종류 ( 고유 / 비고유 / 단일 / 결합 / DESCENDING / 집중 / 비집중 ) (0) | 2020.12.17 |
[SQL/실습] 서브쿼리와 함수를 조합하여 문제풀기 (0) | 2020.12.17 |