문 1) 아래 구조의 테이블을 생성하세요. (create 쿼리문 작성)
제약조건은 다음과 같습니다.
주문번호 – 널을 허용하지 않고, 기본키,
고객번호 – 널을 허용하지 않음,
주문일 – 널을 허용하지 않음,
주문가격 – 널을 허용하지 않음,
할인금액 – 널을 허용하지 않음,
적립포인트 – 널을 허용하지 않음.
CREATE TABLE 주문테이블 (
주문번호 VARCHAR2(16) PRIMARY KEY NOT NULL,
고객번호 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 제약 조건을 삭제 하세요. (쿼리문 작성)
☞ 먼저 SELECT문으로 적립포인트 컬럼 not null 조건의 constraint_name을 조회하고, alter를 이용하여 constraint를 제거함
SELECT
*
FROM
user_constraints
WHERE
table_name = '주문테이블';
-- CONSTRAINT_NAME을 찾음
ALTER TABLE 주문테이블 DROP CONSTRAINT sys_c007376;
문 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
);
문 6) 위 테이블에서 주문번호가 O54321 인 고객의 배송도시코드와 결제금액을 표시하시요(쿼리문 작성)
SELECT
배송도시코드,
결제금액
FROM
주문테이블
WHERE
주문번호 = 'O54321';
문 7) 위 테이블에서 주문번호가 O54321 인 고객의 적립포인트를 50 으로 수정하세요. (쿼리문 작성)
UPDATE 주문테이블
SET
적립포인트 = 50
WHERE
주문번호 = 'O54321';
문 8) 위 테이블에서 고객번호, 주문가격, 결제금액 만 표시되는 뷰를 생성하세요. (쿼리문 작성)
CREATE VIEW 주문테이블_뷰 AS
SELECT
고객번호,
주문가격,
결제금액
FROM
주문테이블;
문 9) hr 계정을 사용하여, 사원별 last_name, department_name 을 출력. (쿼리문 작성, 단, 부서가 없는 grant 도 출력, 결과 107 명)
SELECT
last_name,
department_name
FROM
employees emp,
departments dept
WHERE
emp.department_id = dept.department_id (+);
문 10) hr 계정을 사용하여, 사원별 last_name, department_name, city 를 출력하세요. (쿼리문 작성, 결과 106 명)
SELECT
last_name,
department_name,
city
FROM
employees emp,
departments dept,
locations lo
WHERE
emp.department_id = dept.department_id (+)
AND dept.location_id = lo.location_id;
'개발입문 > ORACLE 예제풀이' 카테고리의 다른 글
[ORACLE] 조인과 서브쿼리 예제 (0) | 2022.10.12 |
---|---|
[ORACLE] 단일행과 복수행 함수 예제 (0) | 2022.10.12 |
댓글