[MySQL] 두개의 컬럼을 IN 절로 비교하기
쿼리 조건을 구성하다보면 멀티키와 같은 컬럼 중 일부를 제외하고 싶을 때가 있습니다. 1건이 아니라 여러건을 조회할 때 기대치 : 1-a, 2-b, 3-c만 원할 때 SELECT * FROM foo WHERE id IN (1, 2, 3) AND bar IN ('a', 'b', 'c') 로 구성하면 1-a, 1-b, 1-c.. 3-b, 3-c가 조회됩니다. 교차로 적용되기 때문입니다. 그렇다면 명확하게 1-a, 2-b, 3-c만 매칭하려면.. 정확히 매칭 SELECT * FROM foo WHERE (id, bar) IN ((1, 'a'), (2, 'b'), (3, 'c')) 이 경우 IN절 비교 시 2개의 컬럼을 조합하여 비교합니다. id가 1이고 bar가 'a'인 경우, id가 2이고 bar가 'b'....