2020년 7월 19일 일요일

오라클, SQL, 인라인뷰(IN_LINE VIEW)

오라클, SQL, 인라인뷰(IN_LINE VIEW)

http://ojc.asia/bbs/board.php?bo_table=LecSQLnPlSql&wr_id=617

5.5 인라인뷰(IN_LINE VIEW)

서브 쿼리는 FROM절에서도 가능 한데 이와 같은 것을 뷰((View)는 뷰(View)인데 Create 명령어로 만들지 않고 해당 라인에 직접 기술한다고 해서 하여 인라인 뷰(InLine View)라고 일컫는다. 인라인 뷰는 Create 명령어를 이용하여 만들지 않으므로 필요한 시점에만 사용된다는 특징이 있다. 가령 어떤 테이블의 데이터 건수, 칼럼 개수가 많다고 했을 때 FROM절 다음에 전체 테이블을 기술 하면 쿼리실행시 수행속도에 악 영향을 미칠 수가 있으므로 FROM절 뒤에 테이블 데이터 중 필요한 행과 열만 선택 한다면 좀더 효율적인 쿼리 할 수 있을 것이다. 또한 인라인뷰는 조인 연산을 줄이기 위해 또는 분리된 쿼리를 하나의 쿼리에 모아서 사용하기 위해 사용한다.

--EMP 테이블에서 직무가 “SALESMAN”인 사람들의 이름, 부서명, 직무를 출력하는 예문

SQL> select ename, dname, job from (select ename, job, deptno from emp

2 where job = 'SALESMAN') e, dept d

3 where e.deptno = d.deptno;

ENAME DNAME JOB

---------- -------------- ---------

ALLEN SALES SALESMAN

WARD SALES SALESMAN

MARTIN SALES SALESMAN

TURNER SALES SALESMAN

--아래의 경우 인라인뷰를 이용하지 않은 예문이다.

SQL> select ename, dname, job from emp e, dept d

2 where e.job = 'SALESMAN'

3 and e.deptno = d.deptno;

ENAME DNAME JOB

---------- -------------- ---------

ALLEN SALES SALESMAN

WARD SALES SALESMAN

MARTIN SALES SALESMAN

TURNER SALES SALESMAN

--이번에는 WITH문을 이용해 보자.

SQL> with emp2 as (

2 select ename, job, deptno from emp

3 where job = 'SALESMAN'

4 )

5 select ename, dname, job from emp2 e, dept d

6 where e.deptno = d.deptno;

ENAME DNAME JOB

---------- -------------- ---------------

ALLEN SALES SALESMAN

TURNER SALES SALESMAN

MARTIN SALES SALESMAN

WARD SALES SALESMAN

댓글 없음:

댓글 쓰기

(C#교육동영상)C# ADO.NET 실습 ODP.NET/ODAC 설치 오라클 함수 호출 실습, C#학원, WPF학원, 닷넷학원, 자바학원

  (C#교육동영상)C# ADO.NET 실습  ODP.NET/ODAC 설치  오라클 함수 호출 실습, C#학원, WPF학원, 닷넷학원, 자바학원 https://www.youtube.com/watch?v=qIPU85yAlzc&list=PLxU-i...