>데이터 베이스 >MySQL 튜토리얼 >SQL 쿼리에서 구독하지 않은 직원의 0 카운트를 표시하는 방법은 무엇입니까?

SQL 쿼리에서 구독하지 않은 직원의 0 카운트를 표시하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-29 20:49:11616검색

How to Display Zero Counts for Employees Without Subscriptions in SQL Queries?

SQL 쿼리 문제 해결: COUNT 집계에 0 개수 표시

제시된 시나리오에서 목표는 모든 구독 수를 확인하는 것입니다. 메일링 구독 테이블에 항목이 없는 직원도 마찬가지입니다. 내부 조인을 사용한 초기 쿼리는 메일링 구독 테이블에 일치하는 레코드가 있는 직원의 수만 반환했으며 구독이 없는 직원은 제외했습니다.

이 문제를 해결하려면 쿼리에 Left 조인(LEFT JOIN)을 사용하는 것이 좋습니다. 왼쪽 조인은 오른쪽 테이블(mailingSubscriptions)에 일치하는 행이 없더라도 왼쪽 테이블(Employee)의 모든 행을 유지합니다. 다음 쿼리는 원하는 결과를 얻기 위해 Left 조인을 통합합니다.

SELECT c.name, count(m.mailid)
FROM Employee c
LEFT JOIN mailingSubscriptions m ON c.Name = m.EmployeeName
GROUP BY c.name;

이 수정된 쿼리는 모든 직원이 결과에 포함되도록 하고 COUNT 집계는 mailingSubscriptions에서 일치하는 구독이 없는 직원에 대해 0을 반환합니다. 테이블. 외부 조인은 두 테이블 모두에서 일치하는 레코드가 있는 행만 표시하는 내부 조인의 제한을 제거합니다.

왼쪽 조인으로 수정된 쿼리를 실행하면 테이블에 직원을 포함한 모든 직원의 구독 수가 올바르게 표시됩니다. 구독 없이. 이는 mailingSubscriptions 테이블에서 구독 여부에 관계없이 직원을 모두 고려하여 완전하고 정확한 데이터 표현을 제공합니다.

위 내용은 SQL 쿼리에서 구독하지 않은 직원의 0 카운트를 표시하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.