본문 바로가기
취미/TIP

SQL 명령어 예제 모음

by Konn 2011. 6. 12.
반응형
1. 급여가 3000천 이상인 사원을 출력하라.

● select * from emp where sal >=3000;

2. 이름이 scott인 사람의 사번과 이름 급여를 출력하라.

● select empno, ename, sal from emp where ename = 'SCOTT';

3. 1985년 이후에 입사한 사원을 출력하라.

● select * form emp where hiredate >='1985/01/01';

4. 10번 부서 소속인 사원들 중에서 직급이 Manager인 사람을 검색하여 사원명, 부서번호, 직급을 출력하라.

● select ename, deptno, job from emp where deptno = 10 and job ='MANAGER';

5. 부서번호가 10번이거나 직급이 Manager인 사원 양쪽 중 어느 하나만 만족하더라고 사원명과 부서번호, 직급을 출력하라.

● select ename, deptno, job from emp where deptno = 10 or job ='MANAGER';

6. 부서번호가 10번이 아닌 사원의 사원명과 부서번호를 출력하라.

● select ename, deptno from emp where not deptno = 10;

7. 급여가 1000에서 3000사이에 있는 사원을 찾아서 출력하라(Between을 사용)

● select * from emp where sal between 1000 and 3000;

8. 사원 번호가 7844이거나 7654이거나 7521인 사원들을 출력하라.

● select * from emp where empno in(7844, 7654, 7521);

9. 사원번호가 7844도 아니고 7654도 아닌 사원들을 출력하라.

● select * from emp where empno not in(7844, 7654);

10. 이름 중에 k를 포함하는 사람을 검색해서 출력하라.

● select * from emp where ename like = '%K%';

11. 이름이 두 번째 글자가 a인 사원을 찾아서 출력하라.

● select * from emp where ename like ='_A%';

12. 커미션을 받지 않는 사원에 대해 출력하라.

● select * from emp where comm is null;

13 커미션 칼럼이null 아닌 자료만 출력하라

● select * from emp where comm is not null;

14. 사원번호가 빠른 순으로 정렬하여 출력하라.

● select empno from emp order by empno asc;

15. 사원번호를 내림차순으로 정렬하여 출력하라

● select empno from emp order by empno desc;

16. 24*60*60의 산술 연산 결과를 한 줄로 얻는 쿼리문은?

● select 24*60*60 from dual;

17. 30번 부서 소속 사원의 급여를 출력하는 쿼리문은?

● select sal from emp where deptno= 30;

18. 30번 부서 소속 사원의 급여를 출력하되 단일 행 round로 천 단위 반올림하여 출력하라.

● select round(sal,-3) from emp where deptno= 30;

19. 30번 부서 소속 사원의 총 급여를 구해보자.

● select sum(sal) from emp where deptno= 30;

20. 부서번호가 10번인 사원이름을 모두 소문자로 변환하여 출력하라.

● select lower(ename) from emp where deptno = 10;

21. 부서 소속의 사원 이름의 첫 글자만 대문자로 바꾸고 나머지는 모두 소문자로 변환하여 출력하라.

● select initcap(ename) from emp;

22. 부서 소속의 사원들의 이름의 길이를 출력하라.

● select length(ename) from emp;

23. 이름이 4글자인 직원을 검색하되 이름은 소문자로 출력하라.

● select lower(ename) from emp where length(ename) = 4;

24. 20번 부서 소속 사원들의 입사년도만 출력하라.

● select substr(hiredate1,2) from emp where deptno = 20;

25. 입사일에서 첫 글자부터 2개를 추출하여 그 값이 87인지를 체크하여 출력하라.

● select * from emp where substr(hiredate,1,2) = '87';

26. 세 번쨰 자리가 R로 끝나는 직원을 검색하여 문제를 SUBSTR 함수를 이용해서 출력하라.

● select * from emp where substr(ename,3,1) = 'R';

27. 'aaaaDateBase programmnigaaaa'를 첫 번째 글자이거나 마지막글자면 잘라내고 남은 문자만 문자열만 변환하여 출력하라.

● select trim('a', from 'aaaadatabase programmingaaa') from dual;

28. 34.5678에서 소수점 아래를 버려서 출력하여라.

● select floor(34.5678) from dual;

29. 부서번호가 10인 사원을 대상으로 입사일로부터 오늘까지 며칠이 흘렀는지 근무 일수를 출력하라.

● select sysdate-hiredate from emp where deptno = 10;

30. 부서번호가 10인 사원을 대상으로 입사일로부터 오늘까지 며칠이 흘렀는지 근무 개월수를 출력하라.

● select months_between(sysdate, hiredate) from emp where deptno = 10;

31. 부서번호가 10인 사원을 대상으로 입사일에서 3개월이 지난 날짜를 출력하라.

● select add_months(hiredate, 3) from emp where deptno = 10;

32. 오늘을 기준으로 최초로 도래하는 수요일은 언제인지 알아보아라.

● select next_day(sysdate, ‘수요일’) from dual;

33. 이번달이 며칠까지 있는지 알아보아라.

● select last_day(sysdate) from dual;

34. 부서번호가 10인 사원을 대상으로 입사일을 달을 기준으로 반올림하여 출력하여라.

● select round(hiredate,'month') from emp where deptno = 10;

35. 부서번호가 10인 사원을 대상으로 입사일을 월을 기준으로 잘라내어 출력하여라.

● select trunc(hiredate, 'month') from emp where deptno = 10;

36. 오늘 날짜를 숫자나 날짜 형태의 데이터를 문자형으로 변환하라.

● select to_char(sysdate, 'yyyy/mm/dd, hh24:mi:ss') from dual;

37. 사원들의 입사일을 출력하되 요일까지 함께 출력하라.

● select to_char(hiredate, 'yyyy/mm/dd day') from emp;
● select hiredate, dayofweek(hiredate) from emp;

38. 1230000이란 숫자를 문자 형태로 출력하라.

● select to_char(1230000) from dual;

39. 1981년 2월 20일에 입사한 사원을 검색하라.

● select * from emp where hiredate = to_date(19810220,'yyyymmdd');

40. '10,000' + '20,000' 을 더해 보도록 하자.

● select to_number('10,000', '999,999,999') + to_number('20,000', '999,999,999) from dual;

41. 연봉 계산을 위해 사원 테이블에서 급여와 커미션 칼럼을 합하여 출력하라.

● select sal+nvl(comm,0) from emp;

42. 연봉을 계산하기 위해서 급여에 12를 곱한 후 커미션을 더하여 출력하라.

● select sal*12+nvl(comm,0) from emp;

43. DEPTNO 가 10이면 A, 20이면 B 나머진 DEAULT로 출력하라. (DECODE를 사용)

● select decode(deptno,10,'a',20,'b','deault') from emp;

44. DEPTNO 가 10이면 A, 20이면 B 나머진 DEFAULT로 출력한다. (CASE를 사용) 

● select case when deptno = 10 then 'a' when deptno = 20 then 'b' else 'default' end from emp;


출처 : http://starforum.kr/9102
반응형