집 >데이터 베이스 >MySQL 튜토리얼 >관련 데이터를 검색하기 위해 MySQL에서 여러 테이블을 효율적으로 조인하는 방법은 무엇입니까?
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 = 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';
이 쿼리에는 다음이 포함됩니다.
이 수정된 쿼리를 사용하면 해당 제품을 연결하기 위한 URL과 함께 지정된 사용자의 제품을 성공적으로 검색할 수 있습니다.
위 내용은 관련 데이터를 검색하기 위해 MySQL에서 여러 테이블을 효율적으로 조인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!