여러 SQL 테이블에서 행 수를 가져와 단일 행에 표시하는 것은 까다로울 수 있습니다. 이 예에서는 tab1
및 tab2
에서 개수를 검색하여 결과를 다음과 같이 표시하는 방법을 보여줍니다.
<code>Count_1 Count_2 123 456</code>
UNION ALL
실패하는 이유일반적이지만 결함이 있는 접근 방식은 UNION ALL
:
<code class="language-sql">select count(*) Count_1 from schema.tab1 union all select count(*) Count_2 from schema.tab2</code>
이렇게 하면 필요한 단일 행 출력이 아닌 각 개수에 대해 별도의 행이 생성됩니다.
DUAL
테이블이 솔루션은 하위 쿼리와 DUAL
테이블(단일 행을 제공하는 가상 테이블)을 활용합니다. 올바른 쿼리는 다음과 같습니다.
<code class="language-sql">SELECT ( SELECT COUNT(*) FROM tab1 ) AS count1, ( SELECT COUNT(*) FROM tab2 ) AS count2 FROM dual;</code>
분류:
SELECT
: 이렇게 하면 결과(count1
및 count2
)를 보관할 단일 행이 생성됩니다.DUAL
테이블: 작업할 외부 SELECT
에 대한 단일 행을 제공합니다.tab1
및 tab2
의 행 개수를 독립적으로 계산합니다.AS
절: 결과 열에 의미 있는 이름(count1
, count2
)을 할당합니다.이 방법은 두 테이블의 개수를 깔끔한 형식의 단일 행으로 효율적으로 통합합니다.
위 내용은 단일 SQL 행의 여러 테이블에서 행 수를 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!