[오라클 설치 계정]
"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
...