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을 실행한 결과