Oracle 24강

programing/Oracle 2009.04.13 21:38


과정명 :_____________________    성  명:_____________

1. 다음은 설명을 보고 적절한 조치를 취할 수 있는 SQL문을 작성하시오 .
테스트 전용 계정을 생성 한다. ( ID: TEST_ACCOUNT PW: TIGER )

>CREATE USER TEST_ACCOUNT
IDENTIFIED BY TIGER;

2. DB에 LOGIN 가능하게 권한을 부여 한다.

>GRANT CONNECT, RESOURCE TO TEST_ACCOUNT;


3. 사원이름과 직업, 급여, 급여등급 을 출력하라  ?

>SELECT e.JOB , e.SAL , g.GRADE
FROM EMP E, SALGRADE G
WHERE E.SAL BETWEEN G.LOSAL AND G.HISAL;

4. 20 번 부서의 사원들과 같은 월급을 받는 사원들의 이름과 월급과 부서
번호를 출력하라 ?

>SELECT ENAME, SAL, DEPTNO
FROM EMP
WHERE SAL IN (SELECT SAL
       FROM EMP
       WHERE DEPTNO = 20);


5. 이름에  T  를 포함하고 있는 사원들과  동일한 부서에서 근무하고 있는 사원의
 사원 번호와 이름을  출력하라 ?

>SELECT EMPNO, ENAME
FROM EMP
WHERE DEPTNO IN (SELECT DEPTNO
FROM EMP
WHERE ENAME LIKE '%T%');

6. BLAKE 이란 사원보다 늦게 입사한 사원의 이름과 입사일을 출력하라 ?
( SUBQUERY와 JOIN 두가지 방법 모두 기술)
SUBQUERY
>SELECT ENAME, HIREDATE
FROM EMP
WHERE HIREDATE > (SELECT HIREDATE
FROM EMP
WHERE ENAME = 'BLAKE');

JOIN
>SELECT E.ENAME, E.HIREDATE
FROM EMP E, EMP O
WHERE E.HIREDATE > O.HIREDATE AND O.ENAME = 'BLAKE'

7. 그림1처럼 TABLE을 생성 하는 SQL문을 작성하시오.
>CREATE TABLE CUST
(CUST_ID NUMBER(6),
CUST_GENDER NUMBER,
CUST_NAME VARCHAR2(10));

8. 그림2처럼 데이터를 추가 하는 SQL문을 작성하시오.
>INSERT INTO CUST
VALUES(1,1,'이창길');
>INSERT INTO CUST
VALUES(2,0,'이지연');
>INSERT INTO CUST
VALUES(3,1,'');
>INSERT INTO CUST
VALUES(4,0,'이나영');

9. CUST 테이블에 GRADE 컬럼을 추가 하는 SQL문을 작성하시오
(단 GRADE 는 숫자2자리)
>ALTER TABLE CUST
ADD GRADE NUMBER(2);

10. GRADE 컬럼에 TYPE을 숫자 4자리로 변경 시키는 SQL문을 작성하시오
>ALTER TABLE CUST
MODIFY GRADE NUMBER(4);

11. CUST_ID 컬럼에 PRIMARY KEY 제약을 추가시키시오 (단 제약명은 CUST_ID_PK )
>ALTER TABLE CUST
ADD CONSTRAINT CUST_ID_PK PRIMARY KEY(CUST_ID);

12. CUST 테이블을 복사하여 CUSTOMER 테이블을 생성
>CREATE TABLE CUSTOMER
AS
SELECT *
FROM CUST
WHERE 0=1;

13. 그림3 처럼 정보를 확인할수 있는 있는 SQL문을 작성하시오.
>SELECT CONSTRAINT_NAME,CONSTRAINT_TYPE, TABLE_NAME
FROM USER_CONSTRAINTS
WHERE TABLE_NAME IN('CUST');

14. SCOTT  USER가 이 테이블(CUSTOMER)을 SELECT , INSERT 할 수 있는 권한을 부여하시오.
>GRANT select on customer to scott;
>grant insert on customer TO SCOTT;

그림1)
SQL> desc cust
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------
 CUST_ID                                          NUMBER(6)
 CUST_GENDER                                        NUMBER
 CUST_NAME                                          VARCHAR2(10)


그림2)
SQL> select * from cust;
CUST_ID CUST_GENDER CUST_NAME
---------- ----------- ----------
         1           1 이창길
         2           0 이지연
         3           1
         4           0 이나영
1 김경숙


그림3)
SQL> /

CONSTRAINT_NAME                C TABLE_NAME
------------------------------ - ------------------------------
CUST_ID_PK                     P CUST

 

신고

'programing > Oracle' 카테고리의 다른 글

오라클 10g express edition 8080포트 변경하기  (0) 2009.10.21
Oracle 24강  (0) 2009.04.13
Oracle 23강  (0) 2009.04.13
Oracle 22강  (0) 2009.04.13
Oracle 21강  (0) 2009.04.13
Oracle 20강  (0) 2009.04.13
Posted by 대절님

댓글을 달아 주세요



티스토리 툴바