본문 바로가기
데이터/SQL

[MySQL] 변수값으로 where절 필터를 설정하는 동적쿼리

by 찌노오 2023. 5. 16.

 

 

 

대시보드를 만드는 도중에 사용자에게 2가지 옵션을 주고 싶었다.

원하면 개별로 조회할 수 있게 변수명을 받아 검색기능을 넣고 그렇지 않다면 최근 날짜순으로 정렬해서 모든 데이터를 보여주는 식으로 말이다.

 

 

-- @myVariable에 변수 값이 할당
SET @myVariable = 'abc';

-- 쿼리에 동적으로 WHERE 절 조건을 설정합니다.
SELECT *
FROM my_table
WHERE 
    (@myVariable IS NULL OR column_name = @myVariable);

 

이렇게 해두면 변수명이 비어있을 때는 전체를 조회하게 되고, 변수명이 입력되면 해당 변수명으로만 필터링하여 조회할 수 있다.

 

 

 

 

 

 

 

 

 

반응형

댓글