반응형
3. 다음은 STUDENT 릴레이션과 DEPARTMENT 릴레이션을 나타낸 것이다.
<SQL문>의 ㉠, ㉡의 수행 결과를 <작성 방법>에 따라 순서대로 쓰시오. [4점]
작성방법에 따라서 결과를 확인해 보겠습니다.
(1) ㉠의 수행 결과를 쓸 것. (단, 수행 결과의 투플 형식은 <3, 50.0, 60>과 같다.)
SELECT d_number, AVG(score), MAX(score)
FROM STUDENT
GROUP BY d_number -> d_number의 그룹
ORDER BY AVG(score) DESC ; -> 내림차수
d_number | AVG(score) | MAX(score) |
2 | 85.0 | 90 |
1 | 75.0 | 80 |
(2) ㉡의 수행 결과를 쓸 것. (단, 수행 결과의 투플 형식은 <홍길동, 과학교육, 60>과 같다.)
SELECT S.s_name, D.d_name, S.score
FROM STUDENT AS S, DEPARTMENT AS D
WHERE score > (SELECT AVG(score)
FROM STUDENT
WHERE d_number = S.d_number)
AND S.d_number = D.d_number ;
(SELECT AVG(score)
FROM STUDENT
WHERE d_number = S.d_number) ->d_number = S.d_number인 학생의 평균을 구해서 선택
AVG(score) |
75.0 |
85.0 |
score > AVG(score) AND S.d_number = D.d_number
: 평균보다 큰 경우에 출력하는 것 -> 해석이 좀 그런데 Join으로 해석을 한다고 합니다.
S.s_name | D.d_name | S.score |
이민구 | 국어교육 | 80 |
신지수 | 컴퓨터 교육 | 90 |
이것이 답이 맞을 까요?
한번 비교를 해보고 한번에 맞으면 좋습니다. -_-a 벌써 몇번째 풀이인지...
ㅋ 맞습니다.
반응형
'백업 > 정보컴퓨터' 카테고리의 다른 글
[정보][DB][정규화] 2018-B-02 정규화 (0) | 2021.02.10 |
---|---|
[정보][DB][SQL] 2016-A-08 SQL (0) | 2021.02.09 |
[정보][DB][관계DB] 2017-A-04 관계 DB (0) | 2021.02.05 |
[정보][DB][SQL] 2018-A-14 SQL (0) | 2021.02.05 |
[정보][DB][SQL] 2019-A-05 SQL (0) | 2021.02.05 |