DML을 이용하여 자료를 다룰 때는 항상 NULL을 염두에 두고 다루어야 한다.
NUMBER 형 자료를 NULL과 연산하면 결과는 항상 NULL이 된다.
NULL이 포함될 유려가 있는 칼럼을 이용할 때는 항상 NVL 함수를 이용하여 값을 치환시켜 사용하는 습관을 들여야 한다.

일반 적으로 같은 지 비교 : WHERE A = '1'
           다른 지 비교 : WHERE a <> '1'

NULL 비교 : WHERE A IS NULL
            WHERE A IS NOT NULL

            SELECT EMP NAME FROM TEMP WHERE NVL(HOBBY, ’ 등산’ ) = ’등산’ ;

ALIAS
    동일한 컬럼 이 두개 테이블 이상에 존재할 때 어떤 테이블의 컬럼 인지를 명시하지 않으 에러가 나게 된다. 그래서 ALIAS를 사용함

UNION : 합집합을 구해준다(중복 자료 배제)
UNION ALL : 합집합을 구해준다(중복 자료 포함)
MINUS : 차집합을 구해준다.
INTERSECT : 교집합을 구해준다.

UNION ALL 빼고 SORT 가 일어난다.
(mode에 따라 다름)

CORRELATED 서브쿼리 
    CORRELATED 서브쿼리는 SUB QUERY 가 MAIN QUERY 의 값을 이용하고, 그 렇게 구해진 SUB QUERY의 값을 다시 MAIN QUERY가 다시 이용하게 된다 

    SELECT EMP ID,EMP_NAME FROM TEMP A WHERE SALARY > (SELECT AVG(SALARY) FROM TEMP B WHERE B.LEV = A.LEV)

ROWNUM
    ORDER Bγ 후에 ROWNUM이 붙는 것이 아니고, 조건 절 을 만족시킨 행들에 ROWNUM이 붙은 후 ORDER BY가 이루어진다.

ROWID
    ROWID는 DATABASE내의 모든 ROW가 가지는 유일한 식별자이다.

NOT IN
    NOTIN 연산자에 NULL이 포함되면 어떠한 경우 일지라도 한건도 DATA를 검색하지 못 한다. 
    WHERE HOBBY <> NULL AND HOBBY <> ’ 낚시 ’ ; 

HIERACHICAL SELECT 
    자료의 구조가 계층적으로 이루어진 경우 상위자료에서부터 하위자료로의 자료전개 및 하위자료에서 상위자료로의 역 전개를 위하여 사용되는 SELECT 형식이다
    SELECT LEVEL, DEPT CODE, DEPT N.따‘E FROM TDEPT CONNECT BY PRIOR DEPT CODE = PARENT DEPT START WITH DEPT CODE = ’ 000000 ’; 

+ Recent posts