• 카테고리

    질문 & 답변
  • 세부 분야

    데이터베이스

  • 해결 여부

    미해결

비상관 서브쿼리 'DALLAS' 문의

24.04.07 16:46 작성 조회수 38

0

안녕하세요, 비상관 서브쿼리 강의에서 아래 where 절의 여러 컬럼에 대해 문의드립니다.

dept 테이블에는 loc 컬럼이 없고, 'DALLAS' 또한 새로 생성된 컬럼으로 보이는데

이것이 어떻게 매핑되어 dept가 '20'만 남는 건지 궁금합니다.

 

select * from hr.dept where (deptno, loc) in (select deptno, 'DALLAS' from hr.emp where sal < 1300)

답변 1

답변을 작성해보세요.

0

안녕하십니까,

'DALLAS' 는 컬럼명이 아니라 LOC 컬럼의 컬럼값입니다.

그러니까 select deptno, 'DALLAS' from hr.emp 하면 (10, 'DALLAS'), (20, 'DALLAS'), (30, 'DALLAS')와 같은 값이 있게 되는 것입니다.

그래서 select deptno, 'DALLAS' from hr.emp where sal < 1300 에 해당하는 deptno값과 'DALLAS' 값이 서브쿼리 값으로 제공이 되는 것입니다.

감사합니다.