sql delete from nested select



sql delete from nested select


join해서 delete할 대상을 구하기 위해 nested query를 사용할 때 주의해야한다.



declare @t1 table (n int)
insert @t1 values(1)
insert @t1 values(2)
insert @t1 values(3)


declare @t2 table (n int)
insert @t2 values(1)
insert @t2 values(2)
insert @t2 values(3)


--이렇게 하면 의도대로 3만 지워질까?
delete @t1
from (
   select *
   from @t1
  ) x
where x.n=3


--이렇게 하면?
delete @t2
from (
   select *
   from @t2
   where n=3
  ) x


select * from @t1
select * from @t2


--result:Nothing...!
--아무것도없다!



이 블로그의 인기 게시물

반올림 올림 내림 버림(절사) 차이와 구현방법

럭스 원종희 인터뷰 (펌)

MSSQL->ORACLE 연결 TNS 에러