210825_DDL 연습문제

 

--DDL 연습문제 

--1. 실습에 사용될 상품정보(PRODUCT) 테이블을 생성하라.

CREATE TABLE PRODUCT(

P_CODE CHAR(3) NOT NULL,

P_NAME VARCHAR2(30),

P_COST NUMBER,

P_GROUP VARCHAR2(30),

CONSTRAINT P_CODE_PK PRIMARY KEY(P_CODE)

);

 

--2.실습에 사용될 상품정보(PRODUCT)테이블의 구조를 검색하라.

DESC PRODUCT;

 

--3.상품정보(PRODUCT) 테이블에 다음과 같은 상품정보를 삽입하라.

INSERT INTO PRODUCT VALUES('101','19인치 모니터','150000','모니터');

INSERT INTO PRODUCT VALUES('102','22인치 모니터','200000','모니터');

INSERT INTO PRODUCT VALUES('103','25인치 모니터','260000','모니터');

INSERT INTO PRODUCT VALUES('201','유선마우스','7000','마우스');

INSERT INTO PRODUCT VALUES('202','무선마우스','180000','마우스');

INSERT INTO PRODUCT VALUES('301','유선키보드','8000','키보드');

INSERT INTO PRODUCT VALUES('302','무선키보드','22000','키보드');

INSERT INTO PRODUCT VALUES('401','2채널 스피커','10000','스피커');

INSERT INTO PRODUCT VALUES('402','5.1채널 스피커','120000','스피커');

 

--4. 실습에 사용될 상품정보(PRODUCT) 테이블의 모든 데이터를 검색하라. 

SELECT * FROM PRODUCT;

 

--5.실습에 사용될 거래내역(TRADE) 테이블을 생성하라

CREATE TABLE TRADE(

T_SEQ NUMBER NOT NULL,

P_CODE CHAR(3),

C_CODE VARCHAR2(4),

T_DATE DATE,

T_QTY NUMBER,

T_COST NUMBER,

T_TAX NUMBER,

CONSTRAINT T_SEQ_PK PRIMARY KEY(T_SEQ)

);

 

--6.실습에 사용될 거래내역 구조를 출력하라

DESC TRADE;

--7.실습에 사용될 거래내역(TRADE) 테이블에 다음과 같은 거래내역 정보를 삽입하라.

INSERT INTO TRADE 

VALUES(61,'131','101',TO_DATE('2016-04-01','YYYY-MM-DD'),10,150000,150000);

INSERT INTO TRADE 

VALUES(5,'102','102',TO_DATE('2016-04-26','YYYY-MM-DD'),8,200000,160000);

INSERT INTO TRADE 

VALUES(8,'103','101',TO_DATE('2016-05-20','YYYY-MM-DD'),2,260000,520000);

INSERT INTO TRADE 

VALUES(3,'201','103',TO_DATE('2016-04-13','YYYY-MM-DD'),7,7000,4900);

INSERT INTO TRADE 

VALUES(2,'201','101',TO_DATE('2016-04-12','YYYY-MM-DD'),5,7000,3500);

INSERT INTO TRADE 

VALUES(9,'202','104',TO_DATE('2016-06-02','YYYY-MM-DD'),8,18000,14400);

INSERT INTO TRADE 

VALUES(6,'301','103',TO_DATE('2016-05-02','YYYY-MM-DD'),12,8000,9600);

INSERT INTO TRADE 

VALUES(10,'302','103',TO_DATE('2016-06-09','YYYY-MM-DD'),9,22000,19800);

INSERT INTO TRADE 

VALUES(4,'401','104',TO_DATE('2016-04-20','YYYY-MM-DD'),15,10000,15000);

INSERT INTO TRADE 

VALUES(11,'401','105',TO_DATE('2016-06-15','YYYY-MM-DD'),20,10000,20000);

INSERT INTO TRADE 

VALUES(7,'402','102',TO_DATE('2016-05-08','YYYY-MM-DD'),5,120000,60000);

 

--8.실습에 사용될 거래내역 테이블의 모든 데이터를 검색하라. 

SELECT * FROM TRADE;

 

--9.실습에 사용될 거래처 정보테이블을 생성하라. 

CREATE TABLE CUSTOMER(

C_CODE VARCHAR2(4) NOT NULL,

C_NAME VARCHAR2(30),

C_CEO VARCHAR2(12),

C_ADDR VARCHAR2(100),

C_PHONE VARCHAR2(13),

CONSTRAINT C_CODE_PK PRIMARY KEY(C_CODE)

);

 

--10.실습에 사용될 거래처 정보 테이블의 구조를 검색하라

DESC CUSTOMER;

 

--11.거래처정보 테이블에 다음과 같은 거래처정보를 삽입하라

INSERT INTO CUSTOMER VALUES('101','늘푸른회사','김수종','경기도 안산시','010-1234-5678');

INSERT INTO CUSTOMER VALUES('102','사랑과바다','박나라','경기도 평택시','010-1122-3344');

INSERT INTO CUSTOMER VALUES('103','대한회사','이민수','서울시 구로구','010-3785-8809');

INSERT INTO CUSTOMER VALUES('104','하얀기판','허진수','경상북도 포항시','010-8569-3468');

INSERT INTO CUSTOMER VALUES('105','한마음한뜻','하민우','인천시 남동구','010-9455-6033');

 

--.12

SELECT * FROM CUSTOMER;

 

--13.재고테이블 생성

CREATE TABLE STOCK(

P_CODE CHAR(3) NOT NULL,

S_QTY NUMBER NOT NULL,

S_LASTDATE DATE,

CONSTRAINT P_STOCK PRIMARY KEY(P_CODE,S_QTY)

);

 

--14.

DESC STOCK;

 

--15.

INSERT INTO STOCK VALUES ('101',50,TO_DATE('2016-04-01','YYYY-MM-DD'));

INSERT INTO STOCK VALUES ('102',20,TO_DATE('2016-04-26','YYYY-MM-DD'));

INSERT INTO STOCK VALUES ('103',5,TO_DATE('2016-05-20','YYYY-MM-DD'));

INSERT INTO STOCK VALUES ('201',2,TO_DATE('2016-04-13','YYYY-MM-DD'));

INSERT INTO STOCK VALUES ('202',15,TO_DATE('2016-06-02','YYYY-MM-DD'));

INSERT INTO STOCK VALUES ('301',0,TO_DATE('2016-05-02','YYYY-MM-DD'));

INSERT INTO STOCK VALUES ('302',20,TO_DATE('2016-06-09','YYYY-MM-DD'));

INSERT INTO STOCK VALUES ('401',10,TO_DATE('2016-06-15','YYYY-MM-DD'));

INSERT INTO STOCK VALUES ('402',7,TO_DATE('2016-05-08','YYYY-MM-DD'));

 

--16.

SELECT * FROM STOCK;

 

--17.생성된 상품정보 테이블에 비고열을 삽입하라

ALTER TABLE STOCK

ADD (ETC CHAR(30));

 

--18.

SELECT * FROM STOCK;

 

--19.열의 구조를 변경하라

ALTER TABLE STOCK

MODIFY(P_CODE VARCHAR2(10));

 

--20

DESC STOCK;

 

--23.

RENAME PRODUCT TO PRODUCT1;

 

--24.

DESC PRODUCT1;

 

--26.

DESC PRODUCT;

DESC PRODUCT1;

 

--28. 

 

SELECT * FROM PRODUCT;

SELECT * FROM PRODUCT1;

 

ALTER TABLE STOCK

MODIFY (P_CODE CHAR(3));

--29.

ALTER TABLE STOCK 

ADD CONSTRAINT F_P_CODE FOREIGN KEY(P_CODE)

REFERENCES PRODUCT1(P_CODE);

 

SELECT OWNER,CONSTRAINT_NAME,TABLE_NAME

FROM USER_CONSTRAINTS

WHERE TABLE_NAME IN ('PRODUCT','STOCK');

 

--30. 

CREATE OR REPLACE VIEW V_TRADE

AS

SELECT * FROM TRADE

WHERE P_CODE=401;

 

31.

SELECT * FROM V_TRADE;

 

32.

SELECT C_CODE

FROM (SELECT * FROM TRADE

ORDER BY T_DATE DESC)

WHERE ROWNUM<=1;

 

SELECT * FROM STOCK;




'ORACLE' 카테고리의 다른 글

210825_ORACLE_필기  (0) 2021.08.29
210825_DDL의 실전문제  (0) 2021.08.29
210824_DML연습문제  (0) 2021.08.24
210824_DML실전문제  (0) 2021.08.24
210824_ORACLE_필기  (0) 2021.08.24