모두CBT

[평균성적] 테이블에서 ‘평균’ 필드 값이 90 이상인 학생들을 검색하… | [컴퓨터활용능력 1급 필기] 14년 3회차 기출문제 상세 페이지

1[컴퓨터활용능력 1급 필기] 14년 3회차
[평균성적] 테이블에서 ‘평균’ 필드 값이 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는 같은 값을 가진 레코드를 묶어 집계할 때 쓰는 절이므로, 조건절 뒤에 정렬 기준 필드를 나열하는 이 문장에는 들어갈 수 없다.

ORDER BY 뒤에는 기준 필드와 정렬 방향을 함께 적는데 내림차순은 DESC, 오름차순은 ASC다. 문제에서 ‘학년’은 내림차순이므로 학년 뒤에 DESC, ‘반’은 오름차순이므로 반 뒤에 ASC가 온다.

완성하면 SELECT 학년, 반, 이름 FROM 평균성적 WHERE 평균 >= 90 ORDER BY 학년 DESC, 반 ASC; 가 된다. 먼저 적은 ‘학년’이 1차 정렬 기준이고 학년이 같은 레코드끼리 ‘반’으로 2차 정렬되며, ASC는 기본값이라 생략해도 결과는 같다.

내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.