집 >데이터 베이스 >MySQL 튜토리얼 >단일 SQL 쿼리에서 여러 테이블의 개별 개수를 얻는 방법은 무엇입니까?
*여러 테이블에서 개수 선택()**
데이터베이스 테이블 작업 시 여러 테이블에서 개수를 가져와 결과를 별도의 열로 표시해야 하는 경우가 있습니다. 두 개의 서로 다른 테이블(tab1 및 tab2)에서 개수를 검색하려고 할 때 일반적인 문제가 발생합니다.
당신이 언급한 UNION ALL을 사용하는 것이 일반적인 방법입니다. 그러나 이 방법은 하나의 열만 포함하고 개수가 차례로 표시되는 결과 집합을 생성합니다.
이 제한을 극복하고 별도의 열에 개수를 표시하려면 다른 SQL 접근 방식이 필요합니다.
<code class="language-sql">SELECT ( SELECT COUNT(*) FROM tab1 ) AS count1, ( SELECT COUNT(*) FROM tab2 ) AS count2 FROM dual</code>
이 쿼리에서 SELECT 문에는 두 개의 하위 쿼리가 포함되어 있습니다.
FROM 절은 Oracle 데이터베이스의 가상 테이블인 이중 테이블을 사용합니다. 항상 하나의 열만 있는 하나의 데이터 행을 반환합니다. 이는 두 하위 쿼리의 개수를 수용하기 위해 결과 집합 구조(교차 조인과 유사)를 만드는 데 필요합니다.
따라서 이 쿼리는 각각 tab1과 tab2의 개수를 포함하는 count1과 count2라는 두 개의 열이 있는 출력을 생성합니다. 이 접근 방식을 사용하면 서로 다른 두 테이블의 COUNT(*) 값을 명확하고 순서대로 표시할 수 있습니다.
위 내용은 단일 SQL 쿼리에서 여러 테이블의 개별 개수를 얻는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!