[Oracle] NVL, NVL2, NULLIF, DECODE, COALESCE, CASE WHEN
NVL(칼럼, 변환 수) - NULL을 다른값으로 치환 select ename, sal, comm, NVL(comm, 1) , sal + NVL(comm, 0) from emp; NVL2(칼럼, 변환 값1, 변환 값2) 칼럼이 NULL이 아닌 경우에는 변환값1, NULL인 경우 변환값2 변환값1, 변환값 2는 데이터 입이 동일해야 함 select ename, comm, NVL2(comm, comm+700, 100) from emp; select player_name, nation, NVL2(nation, nation, '한국'), NVL2(nation, nation||'인', '한국인') from player; NULLIF(칼럼, 비교 값) - 비교 값 또는, NULL 반환 칼럼 값 == 비교 값 이면 ..
2023. 6. 20.
[Oracle / 오라클] 집합 연산자 UNION, UNION ALL, MINUS, INTERSECT
오라클에서 사용하는 4가지 종류 집합 연산자 종류 설명 UNION - 합집합 중복값 제거 UNION ALL - 합집합 중복값 허용, 속도 빠름, MINUS - 차집합 앞의 SELECT 에서 다음 SELECT 에 존재하지 않는 데이터만 출력 INTERSECT - 교집합 앞의 SELECT 와 다음 SELECT 의 결과 값이 같은 데이터만 출력 UNION SELECT employee_id, last_name, salary, department_id from employees; SELECT employee_id, last_name, salary, department_id from employees where department_id = 10 union SELECT employee_id, last_name, sa..
2023. 6. 19.
[Oracle/오라클] FIRST_VALUE() 필드의 첫번째 값, LAST_VALUE() 마지막 값 구하기
SELECT CLASS_CD, STUDENT_NO, STUDENT_NM, KOR FROM TB_GRADE; FIRST_VALUE(필드명) OVER (PARTITION BY 그룹명 ORDER BY 정렬필드명) 그룹중 최대값 구하기 SELECT CLASS_CD, STUDENT_NO, STUDENT_NM, KOR, FIRST_VALUE(KOR) OVER (PARTITION BY CLASS_CD ORDER BY KOR DESC) "CLASS_MAX" FROM TB_GRADE ORDER BY CLASS_CD, KOR DESC; MAX() 함수를 사용해도 동일한 결과 가능 SELECT CLASS_CD, STUDENT_NO, STUDENT_NM, KOR, MAX(KOR) OVER (PARTITION BY CLASS_..
2021. 10. 19.