Oracle 예제4.

2021. 9. 14. 10:39Oracle

CREATE TABLE 주문테이블 (
    주문번호 VARCHAR2(16)
        CONSTRAINT onum_pk PRIMARY KEY,
    고객번호 VARCHAR2(16) NOT NULL,
    주문일 DATE NOT NULL,
    주문가격 NUMBER(15,2) NOT NULL,
    배송도시 VARCHAR2(256),
    배송완료일 DATE,
    결제금액 NUMBER(15,2),
    할인금액 NUMBER(15,2) NOT NULL,
    적립포인트 NUMBER(15,2) NOT NULL
    );

 

문 2) 위 생성된 테이블에서 배송도시 컬럼의 이름을 배송도시코드 로 변경하세요. (alter 쿼리문 작성)

 

    ALTER TABLE 주문테이블 RENAME COLUMN 배송도시 TO 배송도시코드;

 

문 3) 위 테이블에서 배송도시코드 컬럼의 데이터 타입을 소수점 없는 8 자리 숫자 타입으로 변경 하세요. (alter 쿼리문 작성)

 ALTER TABLE 주문테이블 MODIFY (배송도시코드 NUMBER(8,0));

 

문 4) 위 테이블에서 적립포인트 컬럼의 not null 제약 조건을 삭제 하세요. (쿼리문 작성)

ALTER TABLE 주문테이블 MODIFY 적립포인트 NUMBER(15,2) NULL;

 

문 5) 위 생성된 데이블에 아래 레코드를 추가하세요. (쿼리문 작성)

추가 설명, 주문번호는 영문 대문자 O 로 시작됨, 고객번호는 영문 대문자 C 로 시작됨.

INSERT INTO 주문테이블 (주문번호,고객번호,주문일,주문가격,배송도시코드,배송완료일,결제금액,할인금액,적립포인트)
    VALUES('O123456','C007',TO_DATE('19/07/13','YY-MM-DD'),15000,45111,NULL,14000,1000,140);

INSERT INTO 주문테이블 (주문번호,고객번호,주문일,주문가격,배송도시코드,배송완료일,결제금액,할인금액,적립포인트)
    VALUES('O54321','C008',TO_DATE('19/07/13','YY-MM-DD'),5000,54321,NULL,5000,0,0);
    
    SELECT * FROM 주문테이블;

문 7) 위 테이블에서 주문번호가 O54321 인 고객의 적립포인트를 50 으로 수정하세요. (쿼리문 작성)

UPDATE 주문테이블 SET 적립포인트 = 적립포인트+50
WHERE 주문번호 = 'O54321';

문 8) 위 테이블에서 고객번호, 주문가격, 결재금액 만 표시되는 뷰를 생성하세요. (쿼리문 작성)

SELECT 고객번호, 주문가격, 결제금액 FROM 주문테이블;

문 9) hr 계정을 사용하여, 사원별 last_name, department_name 을 출력. (쿼리문 작성, 단, 부서가 없는 grant 도 출력, 결과 107 명)

SELECT E.LAST_NAME, D.DEPARTMENT_NAME 
FROM employees E, DEPARTMENTS D
WHERE E.DEPARTMENT_ID = D.DEPARTMENT_ID(+);

문 10) hr 계정을 사용하여, 사원별 last_name, department_name, city 를 출력하세요. (쿼리문 작성, 결과 106 명)

SELECT E.LAST_NAME, D.DEPARTMENT_NAME ,L.CITY
FROM employees E, DEPARTMENTS D, LOCATIONS L
WHERE E.DEPARTMENT_ID = D.DEPARTMENT_ID
AND D.LOCATION_ID = L.LOCATION_ID;

 

'Oracle' 카테고리의 다른 글

Oracle 보충 2일차  (0) 2021.10.22
Oracle 보충 1일차  (0) 2021.10.22
Oracle 5일차.  (0) 2021.09.13
Oracle 4일차.  (0) 2021.09.10
Oracle 예제3.  (0) 2021.09.09