8장
1분 퀴즈
1 정답 country 테이블과 countrylanguage 테이블은 조인할 수 있습니다.
해설 country와 countrylanguage는 각각 code와 countrycode라는 칼럼에 국가 코드 값이 저장되어 있는데, 이 칼럼들이 조인 칼럼입니다. 이 칼럼들의 값이 같은 것을 찾는 방식으로 조인할 수 있습니다.
2 정답
SELECT a.name, COUNT(*)
FROM country a
INNER JOIN city b
ON a.code = b.countrycode
GROUP BY a.name WITH ROLLUP;
해설 FROM 절에 country 테이블을, INNER JOIN 다음에 city 테이블을 명시합니다. ON 절에는 조인 칼럼인 code와 countrycode 값이 같다는 조인 조건을 기술합니다. 국가명은 country 테이블의 name 칼럼에 있고 추가로 국가별 도시 개수를 구해야 하므로 GROUP BY와 SELECT 절에 a.name을 명시합니다. 도시 개수는 COUNT() 함수로 구하고, 전체 도시 개수까지 구해야 하므로 GROUP BY 절에 WITH ROLLUP 구문을 추가합니다.