수강(학번, 강좌코드, 점수) 테이블에 대해 다음 SQL 을 실행할 때… | [SQLD] SQL 개발자 기출유형 모의고사 2회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 2회
수강(학번, 강좌코드, 점수) 테이블에 대해 다음 SQL 을 실행할 때 오류가 발생하는 것을 모두 고른 것은?㉠ SELECT 강좌코드, AVG(점수) FROM 수강 GROUP BY 강좌코드 HAVING AVG(점수) >= 80; ㉡ SELECT 강좌코드, COUNT(*) FROM 수강 WHERE COUNT(*) >= 2 GROUP BY 강좌코드; ㉢ SELECT 강좌코드 FROM 수강 WHERE 점수 >= 60 GROUP BY 강좌코드 HAVING COUNT(*) >= 2; ㉣ SELECT 학번, MAX(점수) FROM 수강 GROUP BY 강좌코드;
1
㉡
2
㉡, ㉣
3
㉢, ㉣
4
㉠, ㉡
해설
WHERE 절은 그룹이 만들어지기 전에 행 단위로 처리되므로 집계 함수를 WHERE 에 쓸 수 없어 ㉡은 오류이며, 집계 조건은 HAVING 에 써야 한다.
㉣은 GROUP BY 에 없는 학번을 집계 없이 SELECT 해 그룹당 한 값을 정할 수 없으므로 오류가 난다.
- ㉠은 집계 조건을 HAVING 에 둔 올바른 구문이다.
- ㉢은 행 조건은 WHERE, 그룹 조건은 HAVING 에 둔 정상 구문이다.
- ㉡만 고르면 GROUP BY 열 규칙을 어긴 ㉣을 놓친다.
오류나 개정된 내용이 보이면 알려주세요
이어서 풀어보기
[SQLD] SQL 개발자 기출유형 모의고사 2회 50문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요비슷한 기출
- 다음조건을만족하면서,과목별점수의평균이90이상인과목이름,최소점수,최대점수를구하는sql문을작성하시오. -대소문자를구분하지않는다. -where구분을사용하지않는다. -g2020년 정보처리기사실기 3회차
- 다음sql결과에알맞는답을작성하시오. [table] selectcount(col2) fromtable wherecol1in(2,3)orcol2in(3,5); 42022년 정보처리기사실기 2회차
- 다음sql실행결과를숫자만쓰시오. selectcount(*)from급여 whereempno>100andsal>=3000orempno=200; 답:12021년 정보처리기사실기 1회차