9장
1분 퀴즈
1 정답 ②, ④, ⑤
해설
② 서브쿼리는 SELECT 문뿐만 아니라 INSERT, UPDATE, DELETE 문에서도 사용할 수 있습니다.
④ 서브쿼리는 메인쿼리와 조인해 연관성 있는 서브쿼리가 될 수 있습니다.
⑤ 세미콜론은 모든 SQL 문장이 종료됨을 의미합니다. 따라서 세미콜론은 서브쿼리가 끝나는 부분이 아니라 메인쿼리가 끝나는 부분에 붙여야 합니다.
2 정답
SELECT a.name, a.district, a.population, a.countrycode,
(SELECT CONCAT(b.name, ' / ', b.continent)
FROM country b
WHERE a.countrycode = b.code
) countryname
FROM city a;
해설 코드 9-5에서는 서브쿼리의 SELECT 절에서 국가명과 대륙명, 2개 칼럼을 사용해 오류가 났습니다. 하지만 두 칼럼을 CONCAT() 함수로 결합해 하나의 표현식으로 만들면 서브쿼리가 반환하는 값이 1개가 되어 오류가 나지 않습니다.