Spring/이론

동적 쿼리 VS 정적 쿼리 차이, 예시

레이튼 2023. 9. 6. 21:04
정적 쿼리: 항상 동일한 쿼리
동적 쿼리: 조건에 따라 달라지는 쿼리

 

정적 쿼리 예시: (쿼리가 일정하다)

SELECT * FROM MEMBER
WHERE ID = 1016

 

동적 쿼리 예시: (조건에 따라 쿼리가 바뀐다)

SELECT * FROM MEMBER
WHERE 
	IF (ID = 1016) 
		THEN ID = 1016
	ELSE
		ID = 0224
	END IF;

이 경우를 보면 (문법은 살짝쿵 무시해주자)

ID가 1016일 경우의 쿼리는

SELECT * FROM MEMBER
WHERE ID = 1016

ID가 1016이 아닐 경우의 쿼리는

SELECT * FROM MEMBER
WHERE ID = 0224

이렇게 된다.

 

조건에 따라 동적으로 쿼리가 변하는 것이다.