> 데이터 베이스 > MySQL 튜토리얼 > 관련 데이터를 검색하기 위해 MySQL에서 여러 테이블을 효율적으로 조인하는 방법은 무엇입니까?

관련 데이터를 검색하기 위해 MySQL에서 여러 테이블을 효율적으로 조인하는 방법은 무엇입니까?

Barbara Streisand
풀어 주다: 2024-12-19 14:37:11
원래의
525명이 탐색했습니다.

How to Efficiently Join Multiple Tables in MySQL to Retrieve Related Data?

Inner Join을 사용하여 MySQL에서 여러 테이블 조인

MySQL에서 INNER JOIN 문을 사용하면 여러 테이블의 레코드를 결합할 수 있습니다. 공통 열. 다중 테이블 조인을 수행하려면 다음 구문을 사용할 수 있습니다.

SELECT columns
FROM table_1
INNER JOIN table_2
ON table_1.column = table_2.column
[...]
INNER JOIN table_n
ON table_n-1.column = table_n.column;
로그인 후 복사

다음 시나리오를 고려하십시오. 테이블이 4개 있습니다.

  • 주문: (user_id, 가격_ID)
  • products_pricing: (id, product_id)
  • products: (id, name)
  • listings: (id, user_id, url)

특정 사용자(user_id = 7)의 모든 제품과 하이퍼링크를 검색하려고 합니다. 목록 테이블의 해당 URL을 사용하는 각 제품.

원래 쿼리:

SELECT *
FROM orders
INNER JOIN products_pricing
ON orders.pricing_id = products_pricing.id
INNER JOIN products
ON products_pricing.product_id = products.id
WHERE orders.user_id = '7';
로그인 후 복사

이 쿼리는 ID 7을 가진 사용자에 대한 모든 제품을 반환하지만 각 제품의 URL은 포함되지 않습니다.

수정됨 쿼리:

각 제품의 URL을 포함하려면 목록 테이블에 또 다른 INNER JOIN을 추가할 수 있습니다.

SELECT
p.id,
p.name,
l.url,
o.user_id,
o.pricing_id
FROM orders AS o
INNER JOIN products_pricing AS pp ON o.pricing_id  = pp.id
INNER JOIN products         AS  p ON pp.product_id = p.id
INNER JOIN listings         AS  l ON l.user_id = o.user_id
WHERE o.user_id ='7' 
  AND l.id = 233 
  AND l.url = 'test.com';
로그인 후 복사

이 쿼리에는 다음이 포함됩니다.

  • INNER JOIN 목록 AS l ON l.user_id = o.user_id: 이는 목록 테이블을 user_id 열을 기반으로 주문 테이블.
  • WHERE o.user_id ='7': 이는 주문 테이블의 user_id가 7인 행만 포함하도록 결과를 필터링합니다.
  • AND l.id = 233 AND l.url = 'test.com': 특정 ID(233) 및 URL('test.com')이 있는 행만 테스트되도록 추가 필터를 추가합니다. 결과에 포함됩니다.

이 수정된 쿼리를 사용하면 해당 제품을 연결하기 위한 URL과 함께 지정된 사용자의 제품을 성공적으로 검색할 수 있습니다.

위 내용은 관련 데이터를 검색하기 위해 MySQL에서 여러 테이블을 효율적으로 조인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿