lily_y 2023. 10. 17. 17:36

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

NVL

NULL값을 다른 값으로 바꾸기 위한 함수

*NULL값이 들어가면 산수계산이 되지 않음

NVL(컬럼,0) ⇒ NULL값이면 두번째 0으로 바꾸겠다

 

Q. NULL대신 CEO를 출력해라

 

SELECT NAME,  NVL(TO_CHAR(MGR),’CEO’)

FROM

WHERE MGR IS NULL;

 

DECODE

 

(표현식, 조건1, 결과1

             조건2, 결과2

             조건3, 결과3,

             기본결과 n)

 

 

 

 

CASE (WHEN-THEN)

조건에 따라 서로 다른 처리가 가능한 함수

(표현식, WHEN 조건1 THEN 결과1

              WHEN 조건2 THEN 결과2

              WHEN 조건3 THEN 결과3

              ELSE 결과 n )

END

 

 

 

 

사실상 JOIN을 몰랐을 때 이 함수를 이용해볼 수 있다. 

JOIN을 배운다면 JOIN을 이용해 데이터를 추출하길 바란다.

 

 

 

 

 

그룹함수

 

 

 

GROUP BY 절

 

SELECT ENAME, AVG(SAL)

FROM EMP

GROUP BY ENAME;

 

 

SELECT DEPTNO, JOB,  AVG(SAL) 

FROM EMP

GROUP BY DEPTNO, JOB

ORDER BY DEPTNO, JOB;

 

사원번호별로 오름차순으로 정렬되고

부서별로 직책별 평균임금

 

 

 

SELECT DEPTNO, COUNT(COMM)

FROM EMP

GROUP BY DEPTNO

부서별로 커미션을 받는 부서를 불러들임

 

SELECT DEPTNO, AVG(SAL)

FROM EMP

GROUP BY DEPTNO

부서별 평균

 

 

그룹의 결과를 제한할 때 

SELECT DEPTNO, AVG(SAL)

FROM EMP

WHERE SAL > 1500

GROUP BY DEPTNO

HAVING AVG(SAL) > 3000;