-
[Oracle / SQLdeveloper] 03_SELECT(OPTION) 예제 (11번~19번)study Log/Oracle , SQLdeveloper 2023. 1. 17. 17:20
▼ 예제 파일과 테이블 스크립트
SELECT 기본 문법 및 연산자
함수
[춘대학시스템_워크북] 테이블 자료를 통해 예제를 풀어보았다.
※ 자료가 오래되어 문제 속 보기와는 다르다. 따라서 총 갯수가 맞는지 아닌지를 보고 내 답이 정답인지 파악 할 것!
▼ 정답 확인 ▽
더보기-- 11. 학번이 A313047인 학생이 학교에 나오고 있지 않다. -- 지도 교수에게 내용을 전달하기 위한 학과 이름, 학생 이름과 지도 교수 이름이 필요하다. -- 이때 사용할 SQL 문을 작성하시오. -- 단, 출력헤더는 "학과이름", "학생이름", "지도교수이름"으로 출력되도록 한다. SELECT DEPARTMENT_NAME "학과이름" , STUDENT_NAME "학생이름" , PROFESSOR_NAME "지도교수이름" FROM TB_STUDENT JOIN TB_DEPARTMENT USING (DEPARTMENT_NO) JOIN TB_PROFESSOR ON (COACH_PROFESSOR_NO = PROFESSOR_NO) WHERE STUDENT_NO = 'A313047';
▼ 정답 확인 ▽
더보기-- 12. 2007년에 '인간관계론' 과목을 수강한 학생을 찾아 학생이름과 수강학기를 표시하는 SQL 문장을 작성하시오. SELECT S.STUDENT_NAME , G.TERM_NO TERM_NAME FROM TB_STUDENT S JOIN TB_GRADE G ON (G.STUDENT_NO = S.STUDENT_NO) JOIN TB_CLASS USING (CLASS_NO) WHERE G.TERM_NO LIKE '2007%' AND CLASS_NAME = '인간관계론';
▼ 정답 확인 ▽
더보기-- 13. 예체능 계열 과목 중 과목 담당교수를 한 명도 배정받지 못한 과목을 찾아 -- 그 과목 이름과 학과 이름을 출력하는 SQL 문장을 작성하시오. SELECT CLASS_NAME , DEPARTMENT_NAME FROM TB_CLASS JOIN TB_DEPARTMENT USING (DEPARTMENT_NO) LEFT JOIN TB_CLASS_PROFESSOR USING (CLASS_NO) WHERE CATEGORY = '예체능' AND PROFESSOR_NO IS NULL;
▼ 정답 확인 ▽
더보기-- 14. 춘 기술대학교 서반아어학과 학생들의 지도교수를 게시하고자 한다. -- 학생이름과 지도교수 이름을 찾고 만일 지도 교수가 없는 학생일 경우 -- "지도교수 미지정"으로 표시하도록 하는 SQL문을 작성하시오. -- 단, 출력헤더는 "학생이름", "지도교수"로 표시하며 고학번 학생이 먼저 표시되도록 한다. SELECT S.STUDENT_NAME "학생이름" , NVL(P.PROFESSOR_NAME, '지도교수 미지정') "지도교수" FROM TB_STUDENT S LEFT JOIN TB_PROFESSOR P ON (P.PROFESSOR_NO = S.COACH_PROFESSOR_NO) JOIN TB_DEPARTMENT D ON (D.DEPARTMENT_NO = S.DEPARTMENT_NO) WHERE DEPARTMENT_NAME = '서반아어학과' ORDER BY STUDENT_NO;
▼ 정답 확인 ▽
더보기-- 15. 휴학생이 아닌 학생 중 평점이 4.0 이상인 학생을 찾아 -- 그 학생의 학번, 이름, 학과이름, 평점을 출력하는 SQL 문을 작성하시오. SELECT S.STUDENT_NO 학번 , S.STUDENT_NAME 이름 , D.DEPARTMENT_NAME "학과 이름" , ROUND(AVG(POINT),8) 평점 FROM TB_STUDENT S JOIN TB_DEPARTMENT D ON (D.DEPARTMENT_NO = S.DEPARTMENT_NO) JOIN TB_GRADE G ON (G.STUDENT_NO = S.STUDENT_NO) WHERE ABSENCE_YN = 'N' GROUP BY S.STUDENT_NO, S.STUDENT_NAME, D.DEPARTMENT_NAME HAVING ROUND(AVG(POINT), 8) >= 4.0 ORDER BY 학번;
▼ 정답 확인 ▽
더보기-- 16. 환경조경학과 전공과목들의 과목별 평점을 파악할 수 있는 SQL 문을 작성하시오. SELECT CLASS_NO , CLASS_NAME , ROUND(AVG(POINT), 8) "AVG(POINT)" FROM TB_CLASS JOIN TB_GRADE USING (CLASS_NO) JOIN TB_DEPARTMENT USING (DEPARTMENT_NO) WHERE DEPARTMENT_NAME = '환경조경학과' AND CLASS_TYPE LIKE '전공%' GROUP BY CLASS_NO, CLASS_NAME ORDER BY CLASS_NO;
▼ 정답 확인 ▽
더보기-- 17. 춘 기술대학교에 다니고 있는 최경희 학생과 같은 과 학생들의 이름과 주소를 출력하는 SQL문을 작성하시오. SELECT STUDENT_NAME , STUDENT_ADDRESS FROM TB_STUDENT WHERE DEPARTMENT_NO = (SELECT DEPARTMENT_NO FROM TB_STUDENT WHERE STUDENT_NAME = '최경희') ORDER BY STUDENT_NAME DESC;
▼ 정답 확인 ▽
더보기-- 18. 국어국문학과에서 총 평점이 가장 높은 학생의 이름과 학번을 표시하는 SQL문을 작성하시오. SELECT STUDENT_NO , STUDENT_NAME FROM (SELECT STUDENT_NO , STUDENT_NAME FROM TB_STUDENT JOIN TB_DEPARTMENT USING(DEPARTMENT_NO) JOIN TB_GRADE USING (STUDENT_NO) WHERE DEPARTMENT_NAME = '국어국문학과' GROUP BY STUDENT_NO, STUDENT_NAME ORDER BY AVG(POINT) DESC) WHERE ROWNUM = 1;
▼ 정답 확인 ▽
더보기-- 19. 춘 기술대학교의 "환경조경학과"가 속한 같은 계열 학과들의 -- 학과 별 전공과목 평점을 파악하기 위한 적절한 SQL 문을 찾아내시오. -- 단, 출력헤더는 "계열 학과명", "전공평점"으로 표시되도록 하고, 평점은 소수점 한 자리까지만 반올림하여 표시되도록 한다. SELECT DEPARTMENT_NAME "계열 학과명" , ROUND(AVG(POINT), 1) "전공평점" FROM TB_DEPARTMENT JOIN TB_CLASS USING(DEPARTMENT_NO) JOIN TB_GRADE USING(CLASS_NO) WHERE CATEGORY = (SELECT CATEGORY FROM TB_DEPARTMENT WHERE DEPARTMENT_NAME = '환경조경학과' ) AND CLASS_TYPE LIKE '전공%' GROUP BY DEPARTMENT_NAME, CATEGORY ORDER BY "전공평점" DESC;
'study Log > Oracle , SQLdeveloper' 카테고리의 다른 글
[Oracle / SQLdeveloper] 03_SELECT(OPTION) 예제 (1번~10번) (0) 2023.01.17 [ORACLE / SQL] Mac M1 oracle, sql developer 설치하기 (0) 2023.01.15