다음 SQL 중 실행 시 오류가 발생하는 것은?[매출]매출번호지점코드금… | [SQLD] SQL 개발자 기출유형 모의고사 3회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 3회
다음 SQL 중 실행 시 오류가 발생하는 것은?[매출]
| 매출번호 | 지점코드 | 금액 |
|---|---|---|
| 1 | A | 300 |
| 2 | A | 250 |
| 3 | B | 90 |
| 4 | B | 400 |
| 5 | C | 120 |
㉠ SELECT 지점코드, SUM(금액)
FROM 매출
GROUP BY 지점코드
HAVING COUNT(*) >= 2;
㉡ SELECT SUM(금액)
FROM 매출
HAVING SUM(금액) > 0;
㉢ SELECT 지점코드, SUM(금액)
FROM 매출
WHERE SUM(금액) > 500
GROUP BY 지점코드;
㉣ SELECT 지점코드, COUNT(*)
FROM 매출
WHERE 금액 > 100
GROUP BY 지점코드
HAVING 지점코드 <> 'B';1
㉢
2
㉡
3
㉠
4
㉣
해설
WHERE 절은 그룹이 만들어지기 전에 행 단위로 처리되므로 집계 함수를 쓸 수 없고, 그룹 조건 SUM(금액) > 500 은 HAVING 절로 옮겨야 한다.
HAVING 에는 SELECT 목록에 없는 집계나 GROUP BY 열도 조건으로 쓸 수 있다.
- ㉠은 SELECT 에 없는 COUNT(*) 를 HAVING 에 써도 정상 실행된다.
- ㉡은 GROUP BY 없이 테이블 전체를 한 그룹으로 보고 HAVING 을 적용한다.
- ㉣은 WHERE 로 행을 거른 뒤 GROUP BY 열 조건을 HAVING 에 둔 형태라 정상이다.
오류나 개정된 내용이 보이면 알려주세요
이어서 풀어보기
[SQLD] SQL 개발자 기출유형 모의고사 3회 50문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요비슷한 기출
- 다음sql실행결과를숫자만쓰시오. selectcount(*)from급여 whereempno>100andsal>=3000orempno=200; 답:12021년 정보처리기사실기 1회차
- 다음sql결과에알맞는답을작성하시오. [table] selectcount(col2) fromtable wherecol1in(2,3)orcol2in(3,5); 42022년 정보처리기사실기 2회차
- sql문에서having을사용할수있는절은? {"answer":3,"content":[{"content":"like절","url":""},{"content21년-3회차-정보처리기사-필기