[SQL] WHERE IN 순서

maxxyoung·2021년 7월 3일
0

보통 WHERE IN 구문을 썼다고 IN 안의 순서대로 행을 가져오지 않음

PRIMARY KEY 순서대로 행을 가져옴

순서대로 가져오기 위해서 ORDER BY FIELD절 추가

ORDER BY FIELD (KEY, VAL1, VAL2, VAL3)

내가 쓴 방법

<select id="selectInfoList" parameterType="String" resultMap="InfoBean">
     	SELECT 
			A.a, B.b
		FROM 
			TABLE1 A, TABLE2 B
		WHERE 
			A.a = B.b
			AND B.b IN (
			<foreach collection="array" item="id" index="i" separator=",">
				#{id}
			</foreach>
			)
			<if test="id != null and id != ''">
				ORDER BY (
					A.a,
						<foreach collection="array" item="id" index="i" separator=",">
							#{id}
						</foreach>
				)
			</if>	
</select>
profile
오직 나만을 위한 글. 틀린 부분 말씀해 주시면 감사드립니다.

0개의 댓글