가장 최근 행만 검색하기 위해 MySQL 테이블 조인
데이터 관리 시스템에서 여러 소스의 정보를 결합하려면 테이블 조인이 필수적입니다. 기록 데이터를 처리할 때 조인된 테이블 중 하나에서 가장 최근 행을 검색해야 하는 경우가 종종 있습니다.
고객 데이터가 customer 및 customer_data라는 두 테이블에 저장되어 있는 고객 데이터베이스의 시나리오를 생각해 보세요. 고객 테이블에는 기본 고객 정보가 포함되어 있으며 customer_data는 고객 프로필의 변경 사항을 저장합니다. 고객 정보를 테이블에 표시하려면 두 테이블을 조인해야 하지만 우리는 customer_data에서 가장 최근 행만 원합니다.
이를 달성하려면 하위 쿼리와 함께 MySQL의 MAX() 함수를 활용할 수 있습니다. customer_data에서 가장 최근 행의 ID를 찾습니다. 쿼리는 다음과 같습니다.
SELECT c.*, cd.value FROM customer c LEFT JOIN customer_data cd ON c.customer_id = cd.customer_id WHERE cd.customer_id = ( SELECT MAX(customer_id) FROM customer_data WHERE customer_id = c.customer_id )
이 쿼리는 먼저 고객 테이블(접두사 c.)에서 모든 열을 검색합니다. 그런 다음 customer_data 테이블(접두사 cd.)을 사용하여 LEFT JOIN을 수행하고 customer_data의 행을 필터링하여 각 고객에 대한 최대 customer_id를 가진 행만 포함합니다(하위 쿼리에 의해 결정됨).
또한 다음과 같습니다. 참조 쿼리에 언급된 대로 LIKE와 함께 CONCAT()을 사용하면 연결된 열의 특정 값을 검색할 수 있습니다. 샘플 쿼리에서 CONCAT(title,' ',forename,' ',surname)은 문자열 '%Smith%'와 비교됩니다. 이렇게 하면 결합된 필드 어디에서나 하위 문자열 "Smith"가 포함된 모든 고객 이름이 반환됩니다.
위 내용은 MySQL 테이블을 조인할 때 가장 최근 행만 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!