[평균성적] 테이블에서 '평균' 필드 값이 90 이상인 학생들을 검색하… | [컴퓨터활용능력 1급 필기] 19년 2회차 기출문제 상세 페이지
1[컴퓨터활용능력 1급 필기] 19년 2회차
[평균성적] 테이블에서 '평균' 필드 값이 90 이상인 학생들을 검색하여 '학년' 필드를 기준으로 내림차순, '반' 필드를 기준으로 오름차순 정렬하여 표시하고자 한다. 다음 중 아래 SQL문의 각 괄호 안에 넣을 예약어로 옳은 것은?SELECT 학년, 반, 이름
FROM 평균성적
WHERE 평균 >= 90
( ㉠ ) 학년 ( ㉡ ) 반 ( ㉢ );
1
㉠ GROUP BY ㉡ DESC ㉢ ASC
2
㉠ GROUP BY ㉡ ASC ㉢ DESC
3
㉠ ORDER BY ㉡ DESC ㉢ ASC
4
㉠ ORDER BY ㉡ ASC ㉢ DESC
해설
조회 결과를 특정 필드 기준으로 정렬할 때 사용하는 절은 ORDER BY이다. GROUP BY는 같은 값을 가진 레코드를 하나로 묶어 집계할 때 쓰는 절이므로, 단순히 순서를 정하는 이 문제의 목적에는 맞지 않는다.
정렬 방향은 필드 이름 뒤에 붙여 지정하며 내림차순은 DESC, 오름차순은 ASC이다. 문제에서 '학년'은 내림차순, '반'은 오름차순으로 정렬하라고 했으므로 학년 뒤에는 DESC가, 반 뒤에는 ASC가 와야 한다.
완성하면 SELECT 학년, 반, 이름 FROM 평균성적 WHERE 평균 >= 90 ORDER BY 학년 DESC, 반 ASC; 가 되어, 평균이 90 이상인 학생이 학년이 높은 순으로 묶이고 같은 학년 안에서는 반 번호가 작은 순으로 나열된다. ASC는 기본값이라 생략해도 결과가 같다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.