블로그 이미지
010-9967-0955 보미아빠

카테고리

보미아빠, 석이 (500)
밥벌이 (16)
싸이클 (1)
일상 (1)
Total
Today
Yesterday

달력

« » 2024.4
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

공지사항

최근에 올라온 글

use tempdb 

go


if object_id('tblx') is not null

drop table tblx 

go

 

create table tblx 

(idx int identity(1,1)

,c1 char(200))

go


insert into tblx default values 

go 1000


declare @in1 int = 1

declare @in2 int = 3

declare @in3 int = 4

declare @in4 int = 2


select b.*

from (values (@in1), (@in2), (@in3), (@in4)) as a(invalue)

inner loop join tblx b 

on b.idx = a.invalue


select * 

from tblx 

where idx in (@in1, @in2, @in3, @in4) 

go





in query 의 경우 merge interval 등의 내부 처리를 거쳐 단 한개의 값으로 축소한다. 

그런데, inner loop join 의 경우 같은 결과를 만들려면 외부에서 unique 함을 보장해 줘야하니 주의하길 바란다. 

이렇게 명시적 order 하는게 가장 좋아 보임 



select b.*

from (values (@in1, 1), (@in2, 2), (@in3, 3), (@in4, 4)) as a(invalue, inOrder)

join tblx b 

on b.idx = a.invalue

order by inOrder 




Posted by 보미아빠
, |

최근에 달린 댓글

최근에 받은 트랙백

글 보관함