집 >데이터 베이스 >MySQL 튜토리얼 >SQL의 UNION 작업은 어떻게 여러 테이블의 시간을 통합할 수 있습니까?
통합 출력을 위한 테이블 결합
데이터 조작 영역에서는 여러 테이블을 하나의 응집력 있는 출력으로 병합하는 것이 일반적인 과제입니다. KnownHours 및 UnknownHours라는 두 개의 테이블이 있고 각 테이블에는 청구 번호, 범주, 월, 근무 시간이 포함되어 있는 시나리오를 생각해 보세요. 목표는 월을 무시하고 시간을 집계하여 통합 보기를 얻는 것입니다.
이를 달성하려면 SQL의 UNION 연산 기능을 활용할 수 있습니다. 이를 통해 여러 쿼리의 결과를 단일 데이터 세트로 결합할 수 있습니다. 이 특별한 경우에는 SUM() 집계 함수를 사용하여 청구 번호 및 카테고리별로 시간을 그룹화해야 합니다.
이를 수행하는 SQL 쿼리는 다음과 같습니다.
SELECT ChargeNum, CategoryID, SUM(Hours) FROM KnownHours GROUP BY ChargeNum, CategoryID UNION ALL SELECT ChargeNum, 'Unknown' AS CategoryID, SUM(Hours) FROM UnknownHours GROUP BY ChargeNum;
여기서 UNION ALL 키워드는 두 개의 개별 쿼리 결과를 결합합니다. 첫 번째 쿼리는 KnownHours 테이블에서 시간을 검색하여 청구 번호 및 범주별로 그룹화합니다. 두 번째 쿼리는 UnknownHours 테이블에서 시간을 검색하여 '알 수 없음' 범주에 속하는 것으로 처리합니다.
UNION ALL을 사용하면 중복 검사 단계가 생략되어 UNION만 사용할 때보다 성능이 향상됩니다.
이 쿼리의 결과는 청구가 발생한 월에 관계없이 각 청구 번호 및 범주에 대한 총 근무 시간을 제공하는 통합 테이블입니다.
위 내용은 SQL의 UNION 작업은 어떻게 여러 테이블의 시간을 통합할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!