< 서브 쿼리(Sub Query) >
1) 최솟값을 가지는 행 삭제하기
delete from sample where b = (select min(b) from sample)

변수 = (select min(b) from sample);
delete from sample where b = 변수; 

※ 스칼라 값 : select 명령이 하나의 값만 반환하는 것

2) select 구에서 서브쿼리 사용하기
select
(select count(*) from sample1) as q1
(select count(*) from sample2) as q2

3) set 구에서 서브쿼리 사용하기
update sample1 set b = (select max(b) from sample1)

4) from 구에서 서브쿼리 사용하기
select * from (
select * from sample 1 order by b desc)
where rownum <=2;

5) values 구에서 서브쿼리 사용하기
insert into sample1 values(
(select count(*) from sample1),
(select count(*) from sample2)
);

+ Recent posts