바로
문제_
단순뷰에서도 그룹함수 사용이 가능하다. 부서별로 최대급여를 조회할 수 있는 뷰를 작성하시오.
부서번호, 최대급여 순으로 출력할것
=>힌트 group by deptno
(뷰의 내용도 수정이 가능하게 작성할것!)
해설_
SQL> create or replace view v_maxsal
2 as select deptno,max(sal)
3 from emp
4 group by deptno;
as select deptno,max(sal)
*
2행에 오류:
ORA-00998: 이 식은 열의 별명과 함께 지정해야 합니다
위와 같이 입력을 하게될시 오류가 발생하게된다.
에러가 나오는 이유는 뷰가 아닌 상황에선 에러가 안난다.
팁_
뷰를 작성할때 실행시킬 SQL 구문에 일반 필드(존재하는)는 상관없다 하지만 가상필드( max(sal) ), 또는
계산 필드를 사용할시 존재하는 필드가 아니기때문에 반드시 컴퓨터 즉 오라클에게 가상필드를 사용하고싶다고 알려줘야하는데, 이때 알려주는 방법을 해당 가상 필드에 별칭을 부여해주면 된다.
SQL> ed
file afiedt.buf(이)가 기록되었습니다
1 create or replace view v_maxsal
2 as select deptno,max(sal) as "최대 급여" // 이렇게 max(sal)에 별칭을 부여하면 뷰가 생성이 된다
3 from emp
4* group by deptno
SQL> /
뷰가 생성되었습니다.
//결과보기
SQL> select * from v_maxsal; => 뷰에서 그룹함수 사용이 가능하지만, 별칭을 부여해야 한다.(단순뷰 에서만!)
DEPTNO 최대 급여
---------- ----------
30 2850
20 3000
10 5000
'Oracle > View' 카테고리의 다른 글
데이터 베이스_ 오라클 VIEW [view 종류, 관리] 복합뷰 활용 4 (0) | 2019.07.02 |
---|---|
데이터 베이스_ 오라클 VIEW [view 종류, 관리] 단순뷰 1편 (0) | 2019.07.02 |
데이터 베이스_ 오라클 VIEW [view 종류, 관리] 복합뷰 활용 3 (0) | 2019.07.02 |
데이터 베이스_ 오라클 VIEW [view 종류, 관리] 복합뷰 활용 2 서브쿼리 (0) | 2019.07.02 |
데이터 베이스_ 오라클 VIEW [view 종류, 관리] 복합뷰 활용 1 조인 (0) | 2019.07.02 |
댓글