-- [Basic SELECT] --
-- 1. 춘 기술 대학교의 학과 이름과 계열을 표시하시오. 단 출력 헤더는 "학과 명", "계열" 으로 표시하도록 한다. // 63 ROWS SELECTED
SELECT DEPARTMENT_NAME AS "학과 명", CATEGORY AS "계열"
FROM TB_DEPARTMENT;
-- 2. 학과의 학과 정원을 다음과 같은 형태로 화면에 출력한다. // 연결 연산자 || 을 사용 // 63 ROWS SELECTED
SELECT DEPARTMENT_NAME || '의 정원은 ' || CAPACITY || '명 입니다.' AS "학과별 정원"
FROM TB_DEPARTMENT;
-- 3. "국어국문학과"에 다니는 여학생 중 현재 휴학중인 여학생을 찾아달라는 요청이 들어왔다. 누구인가? (국문학과의 '학과코드'는 학과 테이블(TB_DEAPRTMENT)을 조회해서 찾아내도록 하자.
SELECT STUDENT_NAME
FROM TB_STUDENT TS
JOIN TB_DEPARTMENT TD ON (TS.DEPARTMENT_NO = TD.DEPARTMENT_NO)
WHERE TD.DEPARTMENT_NO = 001 AND SUBSTR(STUDENT_SSN, 8, 1) = '2' AND ABSENCE_YN = 'Y';
-- 4. 도서관에서 대출 도서 장기 연체자 들을 찾아 이름을 게시하고자 한다. 그 대상자들의 학번이 다음과 같을 때 대상자들을 찾는 적절한 SQL 구문을 작성하시오.
SELECT STUDENT_NAME
FROM TB_STUDENT
WHERE STUDENT_NO IN ('A513079', 'A513090', 'A513091', 'A513110', 'A513119')
ORDER BY STUDENT_NAME DESC;
-- 5. 입학 정원이 20명 이상 30명 이하인 학과들의 학과 이름과 게열을 출력하시오.
SELECT DEPARTMENT_NAME, CATEGORY
FROM TB_DEPARTMENT
WHERE CAPACITY >= 20 AND CAPACITY <= 30;
-- 6. 춘 기술 대학교는 총장을 제외하고 모든 교수들이 소속 학과를 가지고 있다. 그럼 춘 기술 대학교 총장의 이름을 알아낼 수 있는 SQL 문장을 작성하시오.
SELECT PROFESSOR_NAME
FROM TB_PROFESSOR
WHERE DEPARTMENT_NO IS NULL;
-- 7. 혹시 전상상의 착오로 학과가 지정되어 있지 않은 학생이 있는지 확인하고자 한다. 어떠한 SQL 문장을 사용하면 될 것인지 작성하시오.
SELECT STUDENT_NAME
FROM TB_STUDENT
WHERE DEPARTMENT_NO IS NULL;
-- 8. 수강신청을 하려고 한다. 선수과목 여부를 확인해야 하는데, 선수 과목이 존재하는 과목들은 어떤 과목인지 과목번호를 조회해보시오.
SELECT CLASS_NO
FROM TB_CLASS
WHERE PREATTENDING_CLASS_NO IS NOT NULL;
-- 9. 춘 대학에는 어떤 계열(CATEGORY)들이 있는지 조회해보시오.
SELECT DISTINCT CATEGORY
FROM TB_DEPARTMENT
ORDER BY CATEGORY ASC;
-- 10. 02 학번 전주 거주자들의 모임을 만드려고 한다. 휴학한 사람들은 제외한 재학중인 학생들의 학번, 이름, 주민번호를 출력하는 구문을 작성하시오.
SELECT STUDENT_NO, STUDENT_NAME, STUDENT_SSN
FROM TB_STUDENT
WHERE STUDENT_ADDRESS LIKE '전주시%' AND ENTRANCE_DATE LIKE '02/%' AND ABSENCE_YN = 'N';
더보기
<실습 후기>
여기까지는 어려운 게 없고 여기에서 어려움이 있다 하면 말이 안되어야 하는게 맞는 것 같다.
헷갈리는 작성법만 다시 짚고 넘어갔다. 여기가 문제가 아니고 이 뒤 부분 서서히 어려워지는게 걱정이다.
지금 배우는 수업 진도랑 병행하려니까 머리 과부하 와서 작성법 암기는 안되고 그 때 그 때 찾아서 사용중이다.
'Study > Code Review' 카테고리의 다른 글
DAY 62. Oracle Database 실습 예제 - DDL (0) | 2021.10.18 |
---|---|
DAY 61. Oracle Database 실습 예제 - Additional SELECT - Option (0) | 2021.10.17 |
DAY 59. [JAVA] 배열 연습 문제 09. 난수 발생시키기 (0) | 2021.10.15 |
DAY 58. [JAVA] 배열 연습 문제 07. SCANNER와 배열 (0) | 2021.10.14 |
DAY 57. [JAVA] 배열 연습 문제 06. SCANNER와 배열 (0) | 2021.10.13 |