오라클 SQL

오라클 SQL 210302 연습문제

구자룡 2021. 3. 2. 16:05

create table student1
as select * from student where stu_grade in (1,2);
create table subject1
as select * from subject;
create table enrol1
as select * from enrol;
select * from student1;
select * from subject1;
select * from enrol1;

/*no1. 학번 20101059, 이름 조병준, 학과 컴퓨터정보,
학년 1, 반 B, 키 164, 몸무게 70인 남학생이 추가되었다.*/
INSERT INTO STUDENT1
VALUES (20101059,'조병준','컴퓨터정보',1,'B','M',164,70);

/*no2. 학번 20102038, 이름 남지선, 학과 전기전자,
학년 1, 반 C, 여학생이 추가되었다.*/
INSERT INTO STUDENT1
VALUES (20102038,'남지선','전기전자',1,'C','F',NULL,NULL);

/*no3. 학번 20103009, 이름 박소신, 학과 기계,
20153075 학생과 같은 학년, 반을 갖는 남학생이 추가되었다.*/
INSERT INTO STUDENT1
VALUES (20103009,'박소신','기계',1,'C','M',NULL,NULL);

/*no4. student1 테이블에 학생(student) 테이블의 3학년 학생들 데이터를 입력하라.*/????
INSERT INTO STUDENT1
SELECT * FROM STUDENT
WHERE STU_GRADE = 3;

/*no5. 학번 20131001의 반을 B로 바꾸어라.20071001 존재안함*/
UPDATE STUDENT1
SET STU_CLASS = 'B'
WHERE STU_NO = 20131001;

/*no6. 20152088 학생의 키가 2cm 자랐다. 20072088 존재안함*/
UPDATE STUDENT1
SET STU_HEIGHT = STU_HEIGHT + 2
WHERE STU_NO = 20152088;

/*no7. 모든 학생의 학년이 올랐다.*/
UPDATE STUDENT1
SET STU_GRADE = STU_GRADE + 1;

/*no8. 20142021의 학생의 학과를 컴퓨터정보로 바꾸어라.*/
UPDATE STUDENT1 
SET STU_DEPT = '컴퓨터정보'
WHERE STU_NO = 20142021;

/*no9. 전자회로실험 과목의 점수를 10점 감점하라.*/
UPDATE ENROL1
SET ENR_GRADE = ENR_GRADE - 10
WHERE SUB_NO = (SELECT SUB_NO FROM SUBJECT 
WHERE SUB_NAME = '전자회로실험');
/*no10 20151062 학생이 소프트웨어공학 시험 중 부정행위로 0점이 되었다.20061062 미존재*/
UPDATE ENROL1
SET ENR_GRADE = 0
WHERE STU_NO = 20151062 AND SUB_NO = (SELECT SUB_NO FROM SUBJECT
WHERE SUB_NAME = '소프트웨어공학' );
ROLLBACK;

/*no11. 20153088 학생이 자퇴하였다.20093088 미존재*/
DELETE FROM STUDENT1
WHERE STU_NO = 20153088;

/*no12. 과목번호 112, 과목이름 자동화시스템, 교수명 고종민, 학년 3, 학과 기계가 추가되었다.*/
INSERT INTO SUBJECT1 VALUES(112,'자동화시스템','고종민',3,'기계' );

/*no13. 과목번호가 110에서 501로 변경되었다.*/
UPDATE SUBJECT1 SET SUB_NO = 501
WHERE SUB_NO = 101;

/*no14. 과목번호 101이 폐강되었다.*/
DELETE FROM SUBJECT1
WHERE SUB_NO =101;

/*no15. enrol1 테이블에서 subject1에 없는 과목번호를 999로 변경하라.*/
UPDATE ENROL1 SET SUB_NO = 999
WHERE SUB_NO NOT IN (SELECT SUB_NO FROM SUBJECT1);

/*no16. enrol1 테이블에서 student1에 없는 학번을 99999999로 변경하라.*/
UPDATE ENROL1 SET STU_NO = 99999999
WHERE STU_NO NOT IN (SELECT STU_NO FROM STUDENT1);

/*no17. enrol1에서 과목번호 999를 삭제하라.*/
DELETE FROM ENROL1
WHERE SUB_NO = 999;

/*no18. enrol1에서 학번 99999999를 삭제하라.*/
DELETE FROM ENROL1
WHERE STU_NO = 99999999;

/*no19. enrol1에 없는 과목들을 삭제하라.*/
DELETE FROM ENROL1
WHERE SUB_NO NOT IN (SELECT SUB_NO FROM ENROL1 );

/*no20. enrol1 전체 테이블의 데이터를 삭제하라.*/
DELETE FROM ENROL1;

'오라클 SQL' 카테고리의 다른 글

오라클 SQL 12강 연습문제  (0) 2021.03.02
오라클 SQL 12강  (0) 2021.03.02
오라클 SQL 9강 연습문제  (0) 2021.03.02
오라클 SQL 8강 연습문제  (0) 2021.03.02
오라클 SQL 10강 연습문제  (0) 2021.03.02