본문 바로가기
반응형

DB/SQL4

[자격증] SQLD 시험 후기 올해 목표 중 하나인 DB 자격증 시험을 준비하면서 첫번째 단계로 SQLD를 보게 되었다. 최종적으로 SQLP를 취득하는 것을 목표로 하여 조금씩 공부를 하고 있는 상황인데.. SQLP는 꽤 전문적인 부분이 많아서 취득을 올해 안에 할 수 있을지는 의문이다..ㅎㅎ 내가 공부한 방법은 DBGuide.net 에서 제공하는 요약 정리 한 페이지와 기본책을 한번씩 보았다. DBGuide.net에서 제공 하는 요약본 : http://www.dbguide.net/db.db?cmd=view&boardUid=148404&boardConfigUid=9&categoryUid=216&boardIdx=132&boardStep=1 한국데이터베이스진흥원에서 발행한 기본서 : http://www.dbguide.net/da.db?c.. 2017. 4. 30.
Oracle Pivot 함수 Oracle Pivot 함수는 11g부터 제공 되는 기능으로 기존에는 decode를 사용하여 row를 column으로 변경하였던 것을 간단하게 pivot을 사용하여 처리 할 수 있다. 사용방법은 select * from( /** 조회 할 쿼리 */ ) pivot( 집계함수 for 코드 in (컬럼으로 사용할 row 값) ) emp 테이블과 dept 테이블을 조회 하면 아래와 같다. select e.deptno, dname, job, sal from emp e, dept d where e.deptno = d.deptno 위의 쿼리를 각 부서별 직위(JOB)의 합계를 구하기 위해 Pivot을 쓰면 아래와 같이 된다. with temp as ( select e.deptno, dname, job, sal fro.. 2016. 4. 23.
Oracle MERGE 문. MERGE문은 오라클에서만 사용가능하며 insert, update, delete를 조건에 따라 한번에 가능 하도록 해준다. 아래의 사이트 링크를 클릭하면 자세한 내용에 대한 강좌가 있다. http://www.gurubee.net/lecture/2225 merge into emp_merge_test m using (select empno, deptno, sal from emp where deptno in (20,30) )e on (m.empno = e.empno) when matched then update set m.sal = round(m.sal*1.1) delete where m.deptno = 20 when not matched then insert (m.empno, m.deptno, m.sal) .. 2016. 4. 17.
IN 연산자 IN 연산자는 비교 결과 중 일치 하는 값이 있는 경우에 참이 된다. 컬럼이 하나인 것은 여러군데에서 찾을 수 있기에 여러 컬럼에 대한 예제를 보면 EMP 테이블에서 'JOB' 중에 최고 금액(SAL)을 받는 직원을 구하는 쿼리는 아래와 같다. select * from emp where (job, sal) in (select job, max(sal) from emp group by job); EXISTS 연산자는 서브 쿼리에서 적어도 하나 이상의 행을 반환 하는데... 실제로 데이터를 생성하지 않고 TRUE 또는 FALSE 값을 반환 한다. EMP 테이블에서 BONUS 테이블에 있는 직원을 구하는 쿼리를 보면 아래와 같다. select * from emp e where exists (select * fr.. 2016. 4. 5.
반응형