[SQL] WHERE IN 순서

maxxyoung·2021년 7월 3일

보통 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개의 댓글