더북(TheBook)

10.2 스칼라 서브쿼리

 

 

스칼라(scalar) 서브쿼리는 메인 쿼리의 SELECT 절에서 마치 컬럼이나 표현식처럼 사용됩니다. 따라서 스칼라 서브쿼리 내의 SELECT 절에서는 단 하나의 컬럼이나 표현식만 사용할 수 있습니다. 물론 컬럼이나 표현식들을 +나 || 연산자로 연결해 최종 반환값이 한 개라면 여러 개를 사용할 수도 있습니다. 또한, 서브쿼리 하나가 하나의 컬럼이나 표현식 역할을 하므로 두 개 이상의 값, 즉 반환하는 컬럼 수가 2 이상이면 안 되겠죠? 또한 반환되는 로우 수도 반드시 1개이어야 합니다.

그럼 스칼라 서브쿼리를 작성해 봅시다.

쿼리 10-1 스칼라 서브쿼리

SELECT a.emp_id
      ,a.emp_name
      ,a.gender
      ,a.age
      ,a.dept_id
      ,( SELECT b.dept_name
           FROM dept_master b
          WHERE a.dept_id = b.dept_id ) dept_name
FROM emp_master a;

 

▲ 그림 10-1 쿼리 10-1을 실행한 결과

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