NVL 함수 : NULL을 0으로 바꿔서 연산해줌NVL2 : NULL인지 검사여부 데이터, NULL이 아닐경우 반환데이터, NULL일 경우 반환데이터,DECODE 함수 데이터마다 다른 계산식을 줄 수 있다.DECODE 함수로 부서가 10인 직원만 100달러 월급 상승CASE 문을 사용해서 개별적 계산 가능SUBSTR을 이용해서 변경
SELECT EMPNO, ENAME, MGR,TO_CHAR(
CASE NVL(SUBSTR(MGR, 1, 2),' ')
WHEN '75' THEN 5555
WHEN '76' THEN 6666
WHEN '77' THEN 7777
WHEN '78' THEN 8888
WHEN ' ' THEN 0000
ELSE MGR
END,'0000') CHG_MGR
FROM EMP;
TO_CHAR 을 사용.
GROUP BY 의 그룹화GROUP BY 의 그룹화HAVING 절 은 GROUP BY 안에만 들어갈 수 있고 GROUP BY와 WHERE 둘만은 쓸 수 없다 // 또 한 같이 쓸 경우 WHERE 절이 먼저 실행되고 HAVING절이 실행된다.GROUP BY ROLLUP // ROLLUP 은 GROUP BY에서만 쓸 수 있는 함수GROUP BY 에서 JOB과 DEPTNO의 자리를 바꿨을 때.GROUP BY CUBE : 지정한 모든 열에서 가능한 조합의 결과를 모두 출력. // CUBE 도 GROUP BY에서만 쓸 수 있는 함수. // ROLLUP 보다 좀 더 세부적인 결과가 나온다.GROUP BY 에서 JOB과 DEPTNO의 자리를 바꿨을 때.GROUP BY GROUPING SETS : 계층적으로 분류되지 않고 각각 따로 그룹화한 후 연산값 출력.GROUPING : 그룹화의 결과 여부 // 0은 그룹화가 된것 1은 그룹화가 안된것.LISTAGG WITHIN GROUP // 나란히 나열하여 출력.
SET LINESIZE 150; COL ENAMES FORMAT A50; 줄바꿈이 이상할때.
PIVOT 함수로 직책별`부서별 최고급여를 2차원 표 형태로 출력하기.EMP,DEPT에 있는거에서 같은거만 출력
SET LINESIZE 200
SET PAGESIZE 200
COL LOC FORMAT A10
COL JOB FORMAT A10
COL DNAME FORMAT A12
COL ENAME FORMAT A10
COL COMM FORMAT 9999
COL MGR FORMAT 9999
COL SAL FORMAT 9999
COL EMPNO FORMAT 9999
COL DEPTNO FORMAT 999
열 이름에 각각의 테이블 이름도 함께 명시할 때비등가 조인.같은 테이블을 두번 사용하여 자체조인★★ALT키를 누르면서 긁으면 저렇게 긁을 수 있다★★왼쪽 외부조인 // 등가조인, 외부조인, 자체조인NATURAL JOIN : SQL-99문법의 조인 // '자동'으로 이름과 자료형이 같은 열을 찾은 후 그 열을 기준으로 등가조인을 해준다.
NATURAL JOIN : 기존 등가조인과 다르게, SELECT 절에 DEPTNO가 기준 열이 되기 때문에 테이블 이름을 붙이면 안되는 특성이 있다.