집 >데이터 베이스 >MySQL 튜토리얼 >단일 쿼리에서 여러 SELECT 문을 효율적으로 결합하려면 어떻게 해야 합니까?
여러 SELECT 문을 효율적으로 결합
데이터 분석에서 공통적인 요구 사항이 발생하므로 여러 SELECT 문을 하나의 최적화된 쿼리로 결합하는 것이 필수적입니다. 이 문제는 설명된 예와 같이 유사한 스키마를 따르는 여러 테이블 또는 데이터베이스에서 데이터를 검색할 때 발생합니다.
중간 행이 삭제되는 것을 방지하고 각각에 해당하는 여러 행이 있는 단일 열 결과를 검색하려면 스키마의 경우 쿼리 구문을 수정해야 합니다.
해결책은 개별 SELECT 문을 괄호로 묶는 것입니다. 이 기술을 사용하면 구문이 명확해지고 하위 문 내에서 제한 작업을 적용할 수 있으므로 각 테이블에서 단일 행만 반환됩니다.
UNION ALL 연산자를 사용하여 하위 문을 결합하면 원하는 결과. 다음은 필요한 괄호가 포함된 수정된 쿼리입니다.
(SELECT result FROM tbl1 LIMIT 1) UNION ALL (SELECT result FROM tbl2 LIMIT 1)
UNION ALL 연산자는 중복 항목을 제거하지 않고 하위 문의 결과를 결합하여 스키마 수만큼 행이 포함된 단일 열 결과를 생성합니다.
이 기술은 ORDER BY 및 LIMIT 절을 하위 표현식에 적용할 수 있음을 지정하는 UNION 연산자에 대한 MySQL 설명서에 설명된 지침을 따릅니다. 괄호로 묶인 경우. 그렇지 않으면 이러한 절은 개별 입력이 아닌 UNION의 전체 결과에 적용됩니다.
괄호를 활용하면 쿼리가 여러 스키마에서 데이터를 효율적으로 검색할 수 있으므로 내부에서 추가 분석이나 보고가 가능합니다. Excel 또는 기타 도구.
위 내용은 단일 쿼리에서 여러 SELECT 문을 효율적으로 결합하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!