★연습문제1
1. 상품관리(EC_Product) 테이블에 표를 참고하여 새로운 상품을 추가하시오.
상품코드 | 상품명 | 규격 | 단가 | 재고수량 | 생산처 | 이미지 |
SP01 | 아이폰 | IPHONE8+64G | 816, 000 | 10 | APPLE | sp01.jpg |
SP02 | 갤럭시노트 | NOTE8+256G | 829, 000 | 15 | SAMSUNG | sp02.jpg |
SP03 | G7 ThinQ | G7+128G | 822, 000 | 10 | LG전자 | sp03.jpg |
INSERT INTO EC_Product
(PRODUCT_CODE,PRODUCT_NAME,STANDARD,UNIT_PRICE,LEFT_QTY,COMPANY,IMAGENAME)
VALUES
('SP01','아이폰','IPHONES8+64G',816000,10,'APPLE','sp01.jpg');
INSERT INTO EC_Product
(PRODUCT_CODE,PRODUCT_NAME,STANDARD,UNIT_PRICE,LEFT_QTY,COMPANY,IMAGENAME)
VALUES
('SP02','갤럭시노트','NOTE8+256G',829000,15,'SAMSUNG','sp02.jpg');
INSERT INTO EC_Product
(PRODUCT_CODE,PRODUCT_NAME,STANDARD,UNIT_PRICE,LEFT_QTY,COMPANY,IMAGENAME)
VALUES
('SP03','G7 ThinQ','G7+128G',822000,10,'LG전자','sp03.jpg');
SELECT PRODUCT_CODE,PRODUCT_NAME,STANDARD,UNIT_PRICE,LEFT_QTY,COMPANY,IMAGENAME
FROM EC_Product
WHERE PRODUCT_CODE IN('SP01','SP02','SP03');
2. 주문처리(EC_Order) 테이블에 배달일자(Mdate)와 구분(Gubun) 칼럼 값을 표를 참고하여 수정하고, 2018년 5월 10일의 배달 내역을 출력하시오.
주문번호 | 주문자ID | 배달상품코드 | 배달수량 | 배달일자 | 구분 |
180505002 | kcchoi | DK01 | 1 개 | 2018/05/10 | 배달 |
180505003 | kcchoi | CH01 | 1 개 | 2018/05/10 | 배달 |
UPDATE EC_Order
SET MDATE='18/05/10', GUBUN='배달'
WHERE ORDER_ID='kcchoi';
SELECT ORDER_NO,PRODUCT_CODE,ORDER_QTY,CMONEY,MDATE,GUBUN
FROM EC_Order
WHERE MDATE='18/05/10';
3. 주문처리(EC_Order) 테이블에 금일(2018/07/12) 입금된 내역이다. 주문금액과 결제 금액이 동일한 경우 표를 참고하여 [결제방법, 결제일자, 구분]의 결제항목을 입력하시오.
주문번호 | 주문자ID | 주문금액 | 결제금액 | 결제방법 | 결제일자 | 구분 |
180707001 | jupark | 3,725,000 | 3,735,000 | 신용카드 | 2018/07/12 | 결제 |
180707002 | jupark | 4,300,000 | 4,300,000 | 신용카드 | 2018/07/12 | 결제 |
180707003 | cscho | 747,000 | 747,000 | 신용카드 | 2018/07/12 | 결제 |
UPDATE EC_Order
SET CSEL='신용카드',CDATE='18/07/12',GUBUN='결제'
WHERE ORDER_NO='180707001';
UPDATE EC_Order
SET CSEL='신용카드',CDATE='18/07/12',GUBUN='결제'
WHERE ORDER_NO='180707002';
UPDATE EC_Order
SET CSEL='신용카드',CDATE='18/07/12',GUBUN='결제'
WHERE ORDER_NO='180707003';
4. 주문처리(EC_Order) 테이블로부터 금일 (2018년 7월 12일) 결제한 [주문번호, 상품코드, 주문수량, 결제금액, 결제방법, 결제일자]를 주문번호순으로 출력하시오.
SELECT ORDER_NO,PRODUCT_CODE,ORDER_QTY,CSEL,CMONEY,CDATE
FROM EC_Order
WHERE CDATE='18/07/12'
ORDER BY 1;
5. 회원관리(EC_Member) 테이블의 구매실적(BuyCash) 칼럼이 널(null)인 행을 0으로 수정하시오.
UPDATE EC_Member
SET BUYCASH=0
WHERE NVL(BUYCASH,0)=0;
6. 테이블의 트랜잭션 영역의 모든 행들을 영구히 저장하시오.
COMMIT;
★연습문제2
1. 다음 표의 개설과목을 과목임시(T_Course) 테이블에 저장하고, 출력하시오.
과목코드 | 과목명 | 학점수 | 담당교수번호 | 추가수강료 |
L3001 | 스프링 프로젝트 | 3 | P11 | 50,000 |
L3002 | 모바일프로그래밍 | 3 | P12 | |
L3003 | 데이터베이스튜닝 | 2 | P13 | 50,000 |
L3004 | 빅데이터 개론 | 2 | P14 | 30,000 |
INSERT INTO T_Course
(Course_ID, Title, C_Number,Professor_ID,Course_fees)
VALUES
('L3001','스프링 프로젝트',3,'P11',50000);
INSERT INTO T_Course
(Course_ID, Title, C_Number,Professor_ID,Course_fees)
VALUES
('L3002','모바일프로그래밍',3,'P12',null);
INSERT INTO T_Course
(Course_ID, Title, C_Number,Professor_ID,Course_fees)
VALUES
('L3003','데이터베이스튜닝',2,'P13',50000);
INSERT INTO T_Course
(Course_ID, Title, C_Number,Professor_ID,Course_fees)
VALUES
('L3004','빅데이터 개론',2,'P14',30000);
SELECT * FROM T_Course;
2. 다음 표를 참고하여 학번별 수강신청 과목을 수강임시(T_SG_Scores) 테이블에 저장하고 출력하시오.
학번 | 성명 | 과목코드 | 과목명 | 학점수 | 수강일자 |
C1801 | 김대현 | L3001 | 스프링 프로젝트 | 3 | 2018/02/23 |
L3002 | 모바일프로그래밍 | 3 | |||
L3003 | 데이터베이스튜닝 | 2 | |||
L3004 | 빅데이터 개론 | 2 | |||
C1802 | 신지애 | L3001 | 스프링 프로젝트 | 3 | 2018/02/24 |
L3002 | 모바일프로그래밍 | 3 | |||
L3003 | 데이터베이스튜닝 | 2 | |||
L1051 | 웹서버 관리 | 2 |
INSERT INTO T_SG_Scores (Student_ID,Course_ID,Score_Assigned)
VALUES ('C1801','L3001','18/02/23');
INSERT INTO T_SG_Scores (Student_ID,Course_ID,Score_Assigned)
VALUES ('C1801','L3002','18/02/23');
INSERT INTO T_SG_Scores (Student_ID,Course_ID,Score_Assigned)
VALUES ('C1801','L3003','18/02/23');
INSERT INTO T_SG_Scores (Student_ID,Course_ID,Score_Assigned)
VALUES ('C1801','L3004','18/02/23');
INSERT INTO T_SG_Scores (Student_ID,Course_ID,Score_Assigned)
VALUES ('C1802','L3001','18/02/24');
INSERT INTO T_SG_Scores (Student_ID,Course_ID,Score_Assigned)
VALUES ('C1802','L3002','18/02/24');
INSERT INTO T_SG_Scores (Student_ID,Course_ID,Score_Assigned)
VALUES ('C1802','L3003','18/02/24');
INSERT INTO T_SG_Scores (Student_ID,Course_ID,Score_Assigned)
VALUES ('C1802','L1051','18/02/24');
SELECT*FROM T_SG_Scores ORDER BY 1,2;
3. 'C1802' 학번의 '신지애' 학생이 수강 신청한 'L1051' 과목을 'L3004' '빅데이터 개론'으로 수강 과목을 변경하고자 한다. T_SG_Scores 테이블에 변경하시오.
UPDATE T_SG_Scores
SET COURSE_ID='L3004'
WHERE STUDENT_ID='C1802' AND COURSE_ID='L1051';
4. 표를 참고하여 성적을 수강임시(T_SG_Scores) 테이블에 저장하고 출력하시오
교수번호 | 과목코드 | 과목명 | 학번 | 성적 | 성적취득일자 |
P11 | L3001 | 스프링프로젝트 | C1801 | 98 | 2018/06/28 |
C1802 | 88 | ||||
P12 | L3002 | 모바일프로그래밍 | C1801 | 87 | |
C1802 | 92 | ||||
P13 | L3003 | 데이터베이스튜닝 | C1801 | 92 | 2018/06/28 |
C1802 | 93 | ||||
P14 | L3004 | 빅데이터 개론 | C1801 | 89 | |
C1802 | 97 |
UPDATE T_SG_Scores
SET Score=98,Score_Assigned='2018/06/28'
WHERE Student_ID='C1801' AND Course_ID='L3001';
UPDATE T_SG_Scores
SET Score=87,Score_Assigned='2018/06/28'
WHERE Student_ID='C1801' AND Course_ID='L3002';
UPDATE T_SG_Scores
SET Score=92,Score_Assigned='2018/06/28'
WHERE Student_ID='C1801' AND Course_ID='L3003';
UPDATE T_SG_Scores
SET Score=89,Score_Assigned='2018/06/28'
WHERE Student_ID='C1801' AND Course_ID='L3004';
UPDATE T_SG_Scores
SET Score=88,Score_Assigned='2018/06/28'
WHERE Student_ID='C1802' AND Course_ID='L3001';
UPDATE T_SG_Scores
SET Score=92,Score_Assigned='2018/06/28'
WHERE Student_ID='C1802' AND Course_ID='L3002';
UPDATE T_SG_Scores
SET Score=93,Score_Assigned='2018/06/28'
WHERE Student_ID='C1802' AND Course_ID='L3003';
UPDATE T_SG_Scores
SET Score=97,Score_Assigned='2018/06/28'
WHERE Student_ID='C1802' AND Course_ID='L3004';
SELECT*FROM T_SG_Scores ORDER BY 1,2;
5. 과목코드 'L2033'의 '게임프로그래밍' 개설과목이 폐강되었다. 수강임시(T_Course) 테이블에서 'L2033' 과목코드를 삭제하시오.
DELETE FROM T_Course
WHERE Course_ID='L2033';
6. 과목임시(T_Course) 테이블의 과목코드 'L1031', 과목명이 'SQL'의 추가수강료를 30000원으로 수정하시오.
UPDATE T_Course
SET Course_fees=30000
WHERE Course_ID='L1031';
7. 트랜잭션 영역의 모든 행들을 테이블에 영구히 저장하고, SQL*PLus의 AUTOCOMMIT 시스템 변수를 OFF으로 설정하시오.
COMMIT;
SET AUTOCOMMIT OFF;
8. 수강임시(T_Course)테이블에서 과목코드가 'L4'로 시작하는 과목코드들을 삭제하시오.
DELETE FROM T_Course
WHERE Course_ID LIKE 'L4%';
9. 수강임시(T_Course) 테이블에서 과목코드가 'L4'로 시작하는 과목코드들을 실수로 삭제하였다. 삭제된 행들을 복구하시오.
ROLLBACK;
'오라클 SQL' 카테고리의 다른 글
오라클 11g와 함께하는 SQL과 PL/SQL 10장 연습문제 정답 정리 (0) | 2023.06.21 |
---|---|
오라클 11g와 함께하는 SQL과 PL/SQL 9장 연습문제 정답 정리 (0) | 2023.06.06 |
오라클 11g와 함께하는 SQL과 PL/SQL 8장 연습문제 정답 정리 (0) | 2023.05.30 |
오라클 11g와 함께하는 SQL과 PL/SQL 6장 연습문제 정답 정리 (0) | 2023.05.24 |
오라클 11g와 함께하는 SQL과 PL/SQL 5장 연습문제 정답 정리 (0) | 2023.05.23 |