FIND_IN_SET을 사용하여 쉼표로 구분된 값이 있는 MySQL 테이블 검색
MySQL과 같은 관계형 데이터베이스에서는 검색 시 쉼표로 구분된 값을 처리하는 것이 어려울 수 있습니다. 특정 기록의 경우. 고객과 imap_emails라는 두 개의 테이블이 있다고 가정합니다. 여기서 고객 테이블에는 고객의 이메일이 포함되고 imap_emails 테이블에는 쉼표로 구분된 "to" 및 "from" 필드가 있는 이메일이 저장됩니다.
imap_emails 테이블에서 이메일을 검색하려면 고객의 이메일 주소를 기반으로 FIND_IN_SET 기능을 활용할 수 있습니다. 이 함수는 쉼표로 구분된 목록 내에 특정 값이 존재하는지 여부를 결정합니다.
FIND_IN_SET을 사용하는 샘플 쿼리는 다음과 같습니다.
SELECT * FROM imap_emails INNER JOIN customers ON FIND_IN_SET(customers.email, imap_emails.to) > 0;
이 쿼리는 조건에 따라 imap_emails 및 고객 테이블을 조인합니다. 고객의 이메일이 imap_emails 테이블에 있는 이메일의 "받는 사람" 필드에 포함되어 있는지 확인하세요. 결과에는 이 조건을 충족하는 모든 이메일이 포함됩니다.
그러나 이메일에 두 개 이상의 이메일 주소가 포함되어 있는 경우 쿼리는 단일 이메일에 대해 여러 행을 반환할 수 있습니다. 검색 범위를 좁히려면 특정 이메일 주소를 확인하거나 고객당 결과 수를 제한하는 등 WHERE 절에 추가 조건을 사용할 수 있습니다.
위 내용은 FIND_IN_SET을 사용하여 쉼표로 구분된 값으로 MySQL 테이블을 효율적으로 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!