본문 바로가기

DBMS27

[Oracle] NVL , NVL2, DECODE 1. NVL함수 : NULL일경우 (Oracle 함수 NVL (value,0) -- value가 null 일경우 0을 반환 / 그렇지 않을경우 value값을 반환 ex ) NVL(컬럼, 'SYSDATE') -> 컬럼 값이 없을 경우 SYSDATE를 반환 2. NVL2 함수 : NULL이 아닐경우 NVL2 (expr1, expr2, expr3) -- expr1이 null이 아닌경우 expr2를 반환, -- expr1이 null인 경우 expr3을 반환한다. ex ) SELECT NVL2(ENAME, '있음', '없음') FROM EMP; 3-1. DECODE 함수 : 조건과 결과를 나열하는 방식 DECODE(컬럼, 조건1, 결과1, 조건2, 결과2, else) column -- 컬럼값이 조건1일경우 결과1.. 2020. 12. 9.
[SQL] 중복 제거 / DISTINCT / GROUP BY DISTINCT와 GROUP BY는 뒤에 기술하는 열에 대해 중복을 배제한다는 점에서는 동일한 처리를 한다. 예를 들어 다음 두 구문은 동일한 결과를 출력한다. SELECT DISTINCT goods_classify FROM Goods; SELECT goods_classify FROM Goods GROUP BY goods_classify; 동일 한 것 1. 결과 2. null을 하나의 행으로 간주함 3. 복수 열을 사용하는 결과도 같음 다만, 어떤 것을 사용할지의 고민은 해당구문의 의미에서 찾아서 여부를 결정해야 한다. '선택 결과에서 중복을 제외' 하고 싶다면 DISTINCT '집약한 결과를 구하고 싶다'면 GROUP BY 2020. 11. 23.
[쿼리] 컬럼명 모를때, 테이블명 모를때 1. 컬럼명 모를때 SELECT owner, table_name, column_name FROM all_tab_columns WHERE column_name LIKE '%OP%'; 컬럼이름에 'OP'가 포함된 owner, talbe_name, column_name을 조회해주는 쿼리 2. 테이블명 모를때 컬럼명으로 검색 select TABLE_NAME, COLUMN_NAME from ALL_TAB_COLUMNS where COLUMN_NAME LIKE '%컬럼명%'; 2020. 11. 13.