select ename, sal
from emp
where sal in ( select sal
from emp
where job='SALESMAN') ;
💡 서브쿼리에서 메인쿼리로 리턴되는 데이터가 여러개이므로
이퀄(=) 로는 비교 할 수 X. in 을 사용해야함
- 단일행 서브쿼리 : 서브쿼리에서 메인쿼리로 1개의 행의 값이 리턴되는 경우
연산자:=, !=, <>, ^=, >, <, >=, <=
- 다중행 서브쿼리 : 서브쿼리에서 메인쿼리로 여러 개의 행의 값이 리턴되는 경우
연산자:in, not in, >all, <all, >any, <any
- 다중 컬럼 서브쿼리 : 서브쿼리에서 메인 쿼리로 여러개의 컬럼값이 리턴되는 경우
select ename, age, telecom
from emp21
where age in ( select age
from emp21
where telecom='LG');
select ename, sal, job
from emp
where job in ( select job
from emp
where sal between 1000 and 2000);
select ename, sal, job
from emp
where job not in ( select job
from emp
where sal between 1000 and 2000);