decode

: 다중 조건으로 결과값을 얻을수 있습니다



 docode문

 case문

select

  ename,

  deptno,

  decode(deptno,10,'ACCOUNTING'

               ,20,'RESERCH'

               ,30,'SALES'

               ,40,'OPERATIONS') dname

 from emp; 

select

  ename,

  deptno,

  case deptno select

      when 10 then 'ACCOUNTING'

      when 20 then 'RESERCH'

      when 30 then 'SALES'

      when 40 then 'OPERATIONS'

      end dname

 from emp;


단점 : 느립니다


문제> 매니저는 임금을 15%인상하고 사원들은 임금을 5%로 인사하도록 작성하되 decode를 사용하세요


그룹함수


최소 최대 합계 평균 집계 분산 편차



 문제>사원들이 몇년도에 입사하였는지 조사하여 입사 년도별로 그해 입사한 인원수를 구하는 쿼리



 select

   deptno,

   count(*) as "총인원",

   sum(decode(to_char(hiredate,'YYYY'),1980,1,0)) as "1980",

   sum(decode(to_char(hiredate,'YYYY'),1981,1,0))as "1981",

   sum(decode(to_char(hiredate,'YYYY'),1982,1,0))as "1982",

   sum(decode(to_char(hiredate,'YYYY'),1987,1,0))as "1987"

 from emp

 group by deptno;




문제>이름에 A가들어가는 사원들의 이름과 부서이름을 출력하나


select ename, dname

from emp e,dept d

where e.deptno = d.deptno

and ename like '%A%';


commit / rollback


TABLE을 생성 => DDL  중요!!!auto commit

DATA를 생성 => DML 

DATA를 관리 => DCL


*데이터를 넣거나 수정등의 작업이 발생하면 commit,rollback를 해야합니다!


설계    =>    저장    =>    화면

      부분반영


inser / update / delete


사용시 주의 사항  not null => FK





Posted by mantwo