>데이터 베이스 >MySQL 튜토리얼 >값 목록과 함께 MySQL의 'NOT IN' 절을 사용하는 방법은 무엇입니까?

값 목록과 함께 MySQL의 'NOT IN' 절을 사용하는 방법은 무엇입니까?

DDD
DDD원래의
2025-01-01 13:56:11183검색

How to Use MySQL's

"NOT IN" 값 목록에 대한 MySQL 구문

질문:

MySQL 변수를 어떻게 정의합니까? "NOT IN" 절에 사용할 값 목록으로, 여러 값을 효과적으로 제외합니다. 쿼리?

답변:

값 목록이 포함된 "NOT IN" 절을 구성할 때 전체 목록을 쿼리 내 단일 문자열로 사용하지 않는 것이 중요합니다. 절. MySQL은 이를 통합된 문자열로 컴파일하는 반면 "NOT IN" 절에는 개별 값이 필요합니다. 다음 예를 고려하십시오.

WHERE id_campo NOT IN (@idcamposexcluidos)

이것은 다음과 같이 컴파일됩니다.

WHERE id_campo NOT IN ('817,803,495')

그러나 올바른 구문은 다음과 같습니다.

WHERE id_campo NOT IN ('817', '803', '495')

이를 극복하기 위해 다음이 있습니다. 두 가지 일반적인 접근 방식:

  • 동적 SQL: "NOT IN" 절 내에 개별 값이 지정되도록 올바른 구문으로 쿼리 문자열을 구성합니다.
  • FIND_IN_SET: MySQL은 FIND_IN_SET() 함수를 제공합니다. 다음과 같이 사용할 수 있습니다.
WHERE FIND_IN_SET(id_campo, @idcamposexcluidos) = 0

FIND_IN_SET() 함수는 'id_campo' 열에 인덱스를 사용하는 경우 성능에 영향을 미칠 수 있습니다.

위 내용은 값 목록과 함께 MySQL의 'NOT IN' 절을 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.