"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > MySQL WHERE IN() 절에서 여러 값이 있는 레코드를 처리하는 방법은 무엇입니까?

MySQL WHERE IN() 절에서 여러 값이 있는 레코드를 처리하는 방법은 무엇입니까?

2024년 12월 23일에 게시됨
검색:642

How to Handle Records with Multiple Values in a MySQL WHERE IN() Clause?

MySQL IN () 연산자

MySQL 데이터베이스를 쿼리할 때 WHERE IN () 연산자는 특정 항목을 기반으로 행을 검색하는 데 자주 사용됩니다. 열의 값. 예를 들어, 다음 쿼리는 "id" 열이 값(1, 2, 3, 4)과 일치하는 "table" 테이블의 모든 행을 검색합니다.

SELECT * FROM table WHERE id IN (1,2,3,4);

그러나 레코드에 1 및 3과 같은 여러 "id" 값이 있는 경우 문제가 발생합니다. 이러한 경우 쿼리는 해당 행이 반환되지 않을 수 있습니다.

솔루션

쿼리는 다음 OR 조건으로 변환됩니다.

SELECT * FROM table WHERE id='1' or id='2' or id='3' or id='4';

따라서 행만 반환됩니다.

이 문제를 해결하기 위한 한 가지 옵션은 "id" 열에 SET 데이터 유형을 사용하는 것입니다. 이를 통해 쉼표로 구분된 문자열을 사용하여 여러 값을 저장할 수 있습니다. 그런 다음 FIND_IN_SET() 함수를 사용하여 특정 값을 검색할 수 있습니다.

SELECT * FROM table WHERE FIND_IN_SET('1', id);

이 쿼리는 모든 행을 반환합니다. 존재할 수 있는 다른 값에 관계없이 'id' 열의 값 중 하나로 '1'이 있습니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3