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 ’;
오라클(oracle) 실습 (전무가로 가는 지름길) 정리
2020. 5. 7. 15:51