더북(TheBook)

스칼라 서브쿼리의 작동 방식을 예제로 살펴봅시다.

코드 9-4

USE world;

SELECT a.name, a.district, a.population, a.countrycode,
       (SELECT b.name
          FROM country b
         WHERE a.countrycode = b.code
       ) countryname
  FROM city a;

실행결과

코드 9-4를 보면 메인쿼리의 SELECT 절에 서브쿼리를 넣었습니다. 서브쿼리는 country 테이블에서 국가명(name)을 가져옵니다. 이때 메인쿼리에 있는 city 테이블의 countrycode 칼럼 값과 country 테이블의 code 칼럼 값이 같은 건을 가져오라는 조건이 WHERE 절에 있습니다. 결국, 서브쿼리는 각 도시가 속한 국가명을 조회하는 쿼리입니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.