데이터 베이스 MySQL 튜토리얼 MySQL 테이블을 조인할 때 가장 최근 행만 검색하는 방법은 무엇입니까?

MySQL 테이블을 조인할 때 가장 최근 행만 검색하는 방법은 무엇입니까?

Jan 05, 2025 pm 04:17 PM

How to Retrieve Only the Most Recent Row When Joining MySQL Tables?

가장 최근 행만 검색하기 위해 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Docker에서 MySQL 메모리 사용을 줄입니다 Docker에서 MySQL 메모리 사용을 줄입니다 Mar 04, 2025 pm 03:52 PM

Docker에서 MySQL 메모리 사용을 줄입니다

Alter Table 문을 사용하여 MySQL에서 테이블을 어떻게 변경합니까? Alter Table 문을 사용하여 MySQL에서 테이블을 어떻게 변경합니까? Mar 19, 2025 pm 03:51 PM

Alter Table 문을 사용하여 MySQL에서 테이블을 어떻게 변경합니까?

MySQL의 문제를 해결하는 방법 공유 라이브러리를 열 수 없습니다. MySQL의 문제를 해결하는 방법 공유 라이브러리를 열 수 없습니다. Mar 04, 2025 pm 04:01 PM

MySQL의 문제를 해결하는 방법 공유 라이브러리를 열 수 없습니다.

sqlite 란 무엇입니까? 포괄적 인 개요 sqlite 란 무엇입니까? 포괄적 인 개요 Mar 04, 2025 pm 03:55 PM

sqlite 란 무엇입니까? 포괄적 인 개요

Linux에서 MySQL을 실행합니다 (Phpmyadmin이있는 Podman 컨테이너가 포함되지 않음) Linux에서 MySQL을 실행합니다 (Phpmyadmin이있는 Podman 컨테이너가 포함되지 않음) Mar 04, 2025 pm 03:54 PM

Linux에서 MySQL을 실행합니다 (Phpmyadmin이있는 Podman 컨테이너가 포함되지 않음)

MacOS에서 여러 MySQL 버전을 실행 : 단계별 가이드 MacOS에서 여러 MySQL 버전을 실행 : 단계별 가이드 Mar 04, 2025 pm 03:49 PM

MacOS에서 여러 MySQL 버전을 실행 : 단계별 가이드

일반적인 취약점 (SQL 주입, 무차별 적 공격)에 대해 MySQL을 어떻게 보호합니까? 일반적인 취약점 (SQL 주입, 무차별 적 공격)에 대해 MySQL을 어떻게 보호합니까? Mar 18, 2025 pm 12:00 PM

일반적인 취약점 (SQL 주입, 무차별 적 공격)에 대해 MySQL을 어떻게 보호합니까?

MySQL 연결에 대한 SSL/TLS 암호화를 어떻게 구성합니까? MySQL 연결에 대한 SSL/TLS 암호화를 어떻게 구성합니까? Mar 18, 2025 pm 12:01 PM

MySQL 연결에 대한 SSL/TLS 암호화를 어떻게 구성합니까?

See all articles