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...!
--아무것도없다!
댓글 없음:
댓글 쓰기