[ Oracle ] 오라클 서브쿼리 예제
·
Archive/Develop
아래 예제는 오라클에서 기본제공하는 hr 스키마를 이용했습니다. --ex 2-1) 부서별로 사원의 수가 5명 이상인 부서의 -- 부서번호와 부서명 -- , 부서장사번, first_name을 인원수순으로 출력하라. select d.department_id, d.department_name, d.manager_id, (select first_name from employees where d.manager_id = employee_id ), count(*) from departments d join employees e on d.department_id = e.department_id group by d.department_id, d.department_name, d.manager_id having count..
[ Oracle ] 서브쿼리(SubQuery) | 서브쿼리 예제
·
Archive/Develop
Oracle SubQuery 특징 () 안에 작성한다. 외부쿼리(=메인쿼리)와 비교할 때 알맞은 연산자를 사용한다. (단일행/복수행, 단일 컬럼/복수 컬럼) 연관성이 있는 쿼리(correlated subquery) 또는 없는 쿼리 group by, order by 절을 제외하고 모든 절에 사용 가능하다. 복수행이 리턴될 때 all : 서브 쿼리 리턴 값 중 최대값 Scott 스키마를 활용한 Subquery 활용 문제 : 부서명이 'SALES' 인 사원의 사번과 이름은? select e..
[ Oracle ] Oracle sql case 문 예제
·
Archive/Develop
예제 문제 : -- emp 에서 comm 값이 null 인 경우는 '해당 없음'으로, -- 아니면 원래 값이 출력되도록 empno,ename, sal, comm -- 을 출력하라! (nvl,decode,case 사용) select empno, ename, sal, case when comm is null then '해당없음' when comm=0 then 'zero' when comm>=300 and comm
[ Oracle ] null 함수 (nvl 함수), decode 함수
·
Archive/Develop
nvl 함수 nvl 예제 문제 : emp 테이블에서 sal * comm 값이 100000보다 작은 사원만 empno, ename,sal, comm, sal*comm 을 출력하라. comm 값이 null 값인 경우가 있다면, where 절을 어떻게써야할지 애매할 때가 있다. select empno, ename, sal, comm, rpad(to_char(sal*comm,'999,999,999'),12) as 지급금액 from emp where sal*nvl(comm,0)