본문 바로가기
DB/MariaDB

[MariaDB] 다중 In

by 용술이 2021. 5. 30.

In은 여러 value 값으로 검색할 때 사용한다. 

1
SELECT * FROM table WHERE id IN (1234)
  cs

 

하지만 두 컬럼이 unique 할 때, 여러 값을 동시에 가져오고 싶을 때!? 

 

다중 in 이 필요 하다.

 

1
2
3
4
5
6
SELECT * FROM table 
WHERE (id1, id2) IN (
            SELECT id1, id2 FROM table
            WHERE (id1=1 AND id2=2) OR
                  (id1=3 AND id2=4) OR
                  (id1=5 AND id2=6));
  cs

 

뭔가 지저분하다. 좀 더 깔끔하게 하기 위해서 

array 방식으로 할 수 없을까? 

 

해서 해봤다. 

 

1
2
3
SELECT * FROM table 
WHERE  
(id1, id2) IN ((id1=1 AND id2=2),(id1=3 AND id2=4),(id1=5 AND id2=6));
  cs

 

된다. 

 

또 다른 방법이 있겠지만, 일단 이 방법을 쓰기로 했다. 

 

 

 

 

 

 

 

 

 

 

 

반응형

댓글