--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 |
Comment