함수
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;