문제
다음 조건을 만족하면서 학과별로 튜플 수가 얼마인지 구하는 SQL문을 작성하시오.
- 대소문자를 구분하지 않는다.
- WHERE 구문을 사용하지 않는다.
- GROUP BY 를 사용한다.
- 세미콜론(;)은 생략 가능하다.
- 별칭(AS)을 사용해야 한다. (별칭 사용 시 별칭은 작은 따옴표를 쓴다.)
- 집계 함수를 사용해야 한다.
[학생]
| 학과 | 학생 |
|---|---|
| 전기 | 이순신 |
| 컴퓨터 | 안중근 |
| 컴퓨터 | 윤봉길 |
| 전자 | 이봉창 |
| 전자 | 강우규 |
[결과]
| 학과 | 학과별튜플수 |
|---|---|
| 전기 | 1 |
| 컴퓨터 | 2 |
| 전자 | 2 |
정답
SELECT 학과, COUNT(*) AS '학과별튜플수' FROM 학생 GROUP BY 학과;
SELECT 학과, COUNT(*) AS '학과별튜플수' FROM 학생 GROUP BY 학과SELECT 학과, COUNT(학과) AS '학과별튜플수' FROM 학생 GROUP BY 학과
해설
학과별 튜플 수를 구하려면 학과로 GROUP BY 하고 집계함수 COUNT 로 행 수를 센다. 결과 컬럼명은 별칭 AS '학과별튜플수' 로 지정한다. WHERE 없이 전체를 학과 단위로 묶어 집계하면 전기 1, 컴퓨터 2, 전자 2가 나온다.