SQL에서 JOIN과 함께 LIKE 사용
데이터 분석에서 테이블 조인은 여러 소스의 데이터를 결합하는 일반적인 작업입니다. 레코드를 일치시킬 때 한 테이블의 열이 다른 테이블의 열 일부와 일치하는 "LIKE" 작업을 수행해야 할 수도 있습니다.
테이블 A에 "이름" 열이 포함된 예를 생각해 보세요. "이고 테이블 B에는 "LastName" 열이 포함되어 있습니다. "LIKE" 작업을 사용하여 이러한 테이블을 조인하려면 다음 조건을 지정합니다.
<code class="sql">SELECT * FROM TableA AS A JOIN TableB AS B ON A.Name LIKE '%'+ B.LastName +'%'</code>
이 쿼리는 "Name" 열에 "LastName" 열의 일부가 포함된 TableA의 모든 레코드와 일치합니다. TableB에서. 예를 들어 "이름"에 "John Doe"가 포함되고 "LastName"에 "Doe"가 포함된 경우 레코드가 결합됩니다.
또는 INSTR 함수를 사용하여 "LIKE" 작업을 수행할 수 있습니다. JOIN 절:
<code class="sql">SELECT * FROM TableA AS A JOIN TableB AS B ON INSTR(B.LastName, A.Name) > 0</code>
이 쿼리는 TableA의 "Name" 열이 TableB의 "LastName" 열 내 어디에나 나타나는 레코드와도 일치합니다.
또한 LIKE를 사용할 수 있습니다. 동일한 결과를 얻으려면 CONCAT 함수를 사용하세요.
<code class="sql">SELECT * FROM TableA AS A JOIN TableB AS B ON B.LastName LIKE CONCAT('%', A.Name ,'%')</code>
이러한 모든 옵션에서 대소문자 구분 문제를 피하기 위해 비교하기 전에 열 값을 대문자로 변환하는 것이 좋습니다.
궁극적으로 가장 효율적인 솔루션은 데이터베이스 관리 시스템에서 생성된 특정 데이터와 실행 계획에 따라 달라집니다. 특정 사례에 대한 최적의 접근 방식을 결정하기 위해 다양한 방법을 실험해 보십시오.
위 내용은 부분 문자열 비교를 기반으로 레코드를 일치시키기 위해 SQL에서 JOIN과 함께 LIKE 연산자를 어떻게 사용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!