COUNT(*)
여러 테이블의 결과: UNION과 데카르트 곱의 비교여러 테이블의 데이터를 분석하려면 결과를 결합해야 하는 경우가 많습니다. 자주 수행되는 작업은 여러 테이블에서 동시에 행 수를 가져오는 것입니다.
tab1
및 tab2
의 행 개수가 필요하다고 가정해 보겠습니다. UNION
쿼리가 해결책처럼 보일 수 있습니다.
<code class="language-sql">SELECT COUNT(*) AS Count_1 FROM schema.tab1 UNION ALL SELECT COUNT(*) AS Count_2 FROM schema.tab2</code>
그러나 이렇게 하면 Count_1
및 Count_2
가 별도의 행에 있는 세로 결과 집합이 생성됩니다. 보다 체계적인 단일 행 출력을 위해서는 데카르트 곱 접근 방식을 고려하십시오.
<code class="language-sql">SELECT (SELECT COUNT(*) FROM tab1) AS count1, (SELECT COUNT(*) FROM tab2) AS count2 FROM dual;</code>
이 쿼리의 작동 방식은 다음과 같습니다.
dual
테이블(많은 데이터베이스 시스템의 더미 테이블)은 결합된 결과를 위한 프레임워크 역할을 하는 단일 행을 제공합니다.COUNT(*)
을 독립적으로 계산합니다.count1
및 count2
으로 별칭이 지정되어 2열, 단일 행 출력을 생성합니다.이 방법은 두 테이블의 행 수를 구조화된 단일 행으로 효율적으로 통합하여 원하는 결과를 얻습니다.
<code>count1 | count2 -------+------- 123 | 456</code>
위 내용은 여러 테이블의 COUNT(*) 결과를 단일 행으로 효율적으로 결합하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!