where 절의 select문
select *
from emp
where deptno = (select deptno from dept where loc='DALLAS');
from 절의 select문
select ename, sal*12 allsal
from emp
where allsal > 30000;
오류난다
=> allsal이라는건 없음
select
from
(select ename, sal12 allsal
from emp) e
where e.allsal > 30000;
이렇게 별칭을 붙여준다(e)
having을 안써도 됨
select 절의 select문
행이 1개면 1차원, 2개면 2차원...
1차원 스칼라일때만 가능하다.
스칼라 이기 때문에, 벡터처럼 데이터가 나열되면 안된다. 한건이어야 한다.
이때 그룹함수를 사용한다.
SELECT에서 15번의 while문을 돈다
14번 + 마지막으로 검사 1번
select round(avg(sal)) from emp;
select ename, sal, (select round(avg(sal)) from emp) as '월급평균'
from emp;