Oracle TEST

48 views
Skip to first unread message

샤키(sharky)

unread,
Apr 18, 2013, 8:21:42 PM4/18/13
to kor...@googlegroups.com
[오라클 설치 계정]
 
 "system" 계정  - sys, sysdba 설치시 Pwd 등록가능

  hr / 교육을 위해 만들어 놓은 계정

  - 접속단계 system --> hr <처음에는 닫겨있음>

  - hr계정 여는 방법
     - alter user hr unlock;
  - hr계정 패스워드 주는방법
     - alter user hr identified by 1234;
  - hr계정 접속방법
     - conn hr/1234
------------------------------------
SQL Plus Line설정법
SQL> set linesize 130

SQL Page 설정법
SQL> set pagesize 20
------------------------------------
실연봉이 가장많이 받는 순서로 오름차순 정렬
SQL> select ename, salary, job, dno, nvl(commssion,0)
         as 커미션, salary*12 as 연봉, salary*12+nvl(commission,0)
         as 실제연봉 from employee order by 실제연봉;
--------------------------------------
1. 검색 (Select)
2. 수정 (Update)
3. 삽입 (Insert)
4. 삭제 (Delete)

SQL 

C:\oraclexe\app\oracle\product\11.2.0
   
    \server\sqlplus\admin\glogin.sql
------------------------------------
 =
 >
 <
 >=
 <=
 <> != ^= 같지않다.

[그룹함수]

SUM 누적값
AVG 평균값
COUNT 총 개수
MAX 최대값
MIN 최소값
테이블 생성법

CREATE TABLE [테이블이름]
                   ([필드명 type] ...);

CREATE TABLE dept
                (DNO number(2),
                 DNAME varchar2(14),
                 LOC varchar2(13));

테이블 구조 바꾸기

ALTER TABLE MODIFY ([칼럼]....);

ALTER TABLE dept MODIFY(dname varchar2(15));
[테이블 만들어보기]

 여러분은 온라인 게임을 만듭니다. 게임이름은 Wow
 
 MMORPG게임을 만듭니다.  종족중 휴먼족을 만들기위해

 데이터가 무엇인지 생각하고 휴먼족의 테이블 자유스럽게

 만들어보세요.


  예) 종족ID, 이름, 직업, 왼손무기, 오른손무기, HP, MP, .... 

 정욱 : 종족ID, 이름, 직업, HP, MP, 기본방어, 기본데미지,
          경험치, 레벨, 왼무기, 오른무기, 머리, 가슴, 바지, 손,
          스킬이름, 스킬MP, 스킬ID ....



-----------------------------------------------

 도서관리~!! 테이블 제작!!!
 
------------------------------------

SQL문제]

1. 오늘의 날짜를 구하는 SQL? 
   (select sysdate from dual; )
2. dno필드를 employee테이블에서 검색했을 때
    중복이 되었다. 중복을 방지하는 sql 키워는?
   (                                                           )

3. 모든사원에 대해서 $300달러 인상 급여를 
   계산한 후 
   '이름' '급여' '인상된급여' 순으로 출력하여라.
  (                                         )

4. 연봉이 가장 많은 순으로 내림차순으로 출력하라!
    
   '이름' '연봉'
   (                                         )

5. 해당 계정의 전체 테이블 보는 방법
   ( select * from tab; )

6. King의 이름을 하성호로 수정하여라!
   (Update 테이블 set ename='하성호' 
      where eno=7839; )
       
7. ename이 SCOTT인 친구를 출력하라.
   (                                                  )

8. 입사일이 1981/01/01 이전에 입사한 직원은?
   (                                                   )

9. 나라 테이블에서  덴마크(Denmark)가 있는 검색해
    보아라~! (

   (                                                   )

10. Countries 테이블에 'KR' , 'Korea', '3'
      입력을 하시오~~~!!
  (                                                      )
11. 부서번호(dno)가 10이고 직급(job)이 'MANAGER'인
      사원만 출력하라~!
 (                                                       )

12. 부서번호(dno)가 10이거나 직급(job)이 'MANAGER'인
     사원을 출력하라~!
(                                                         )


13. 전체 직원(employee)에서 부서번호가 10이 아닌
      직원들만 출력하여라~! "not"을 사용할것.
   (                                                      ) 

14. 급여(salary)가 1000에서 1500사이인 직원들을
    출력하여라! between A and B을 사용할것.
   (                                                      )

15. 커미션(commission)이 300이거나 500이거나
     1400인 사원을 검색하여라. In(a, b,...) 키워드 사용

     (select * from employee where commission 
         in(300, 500, 1400); )

16. 이름이 F로 시작하는 직원을 검색하여라. like사용할것
    (                                                      )

17. 1981년 2월20일 부터 1981년 5월1일 사이에
     입사를 한 사원의 이름(ename) 담당업무(job)
     입사일(hiredate)을 출력하시오.
  
18. 관리자('MANAGER')가 없는 직원의 이름과
     담당업무(job)은?

19. 이름의 세번째 문자가 R인 사원의 이름은???

20. 담당업무(job)가 사원(CLERK) 또는 영업사원
     (SALESMAN)이면서 급여가 $1600, $950 또는 $1300
     이 아닌(NOT) 직원의 이름, 담당업무, 급여 순으로
     출력하시오.

21. substr함수를 이용해서 직원들의 입사년도와 입사달만
      출력하시오. (hiredate, substr())

    (  년도       달  
         80        12
         81        10                                )

22. 4월에 입사한 사원을 출력하시오. substr사용할것!
     (                                                    )

23. MOD()사용, 사원번호(eno)가 짝수인 직원출력
     (                                                             )
24. MANAGER번호가 홀수인 직원 출력.

25. 2013년 5월의 두번째 목요일?? 
     (                                                             )

26. DECODE 함수로 직급에 따라 급여를 인상하도록 하시오.

    직급이 'ANAIYST'인 사원은 200, 'SALESMAN'인 사원은

    180, 'MANAGER'인 사원은 150, 'CLERK'인 사원은 100을

    인상하시오.

(  ENO  ENAME  JOB   SALARY   UPDATE_SALARY )
27. 총 직원 평균월급을 소수점 둘째자리까지
     반올림하여 구하여라~!
     

28. 부서별 급여 최대액(MAX)이 3000 이상인 부서의 
      번호와 부서별 급여 최대액(MAX) 구하기

29. Manager를 제외하고 급여총액(SUM)이 5000 
    이상인 직급별 급여총액(SUM) 구하기

30. EQUI JOIN을 사용해서 SCOTT 사원의 
     부서번호(dno)와 부서이름(dname)을 출력하시오.

      ( ENAME DNO DNAME
-----------------------------------------
         SCOTT 20 RESEARCH  )

31. INNER JOIN과 ON 연산사를 사용하여 
      사원이름(ename)과 함께 그 사원이 소속된 
     부서이름(dname)과 지역명(LOC)을 출력하시오.

   ( ENAME DNAME LOC
------------------------------------------
     KING ACCOUNTTING NEW YORK

     ALLEN SALES CHICAGO 


32. INNER JOIN과 USING 연산자를 사용하여 10번 부서에
     속하는 모든 담당업무의 고유 목록(한번만 표기)을
     부서의 지역명을 포함하여 출력하시오.

     DNO JOB LOC
-----------------------------------------
     10 MANAGER NEWYORK
     10 PRESIDENT NEWYORK
     10 CLERK NEWYORK

33. NATURAL JOIN을 사용하여 커미션을 받는 모든 사원의
     이름, 부서이름, 지역명을 출력하시오.
     
     ENAME DNAME LOC
-----------------------------------------
     ALLEN SALES CHICAGO
     MARTIN SALES CHICAGO
     WARD SALES CHICAGO

34. EQUI 조인과 WildCard(%)를 사용하여 이름에 'A'가
     포함된 사원의 이름과 부서명을 출력하시오. ( 총7건)
     ENAME DNAME
    ---------------------
     ALLEN SALES
     ADAMS RESEARCH

35. NATURAL JOIN을 사용하여 NEWYORK에 근무하는 모든
     사원의 이름, 업무, 부서번호 및 부서명을 출력하라. (총 3건)

    ENAME JOB DNO DNAME
-------------------------------------------------
    CLARK MANAGER 10 ACCOUNTING

36. SELF JOIN을 사용하여 사원의 이름 및 사원이름 및 사원번호를
    관리자 번호와 함께 출력하시오. 단, 각 열의 별칭은 결과화면과
    같도록 하시오.
    Employee Emp# Manager Mgr#
 ---------------------------------------------
    FORD 7566 7566 JONES
    SCOTT 7566 7566 JONES
   ...
















 



Reply all
Reply to author
Forward
0 new messages