OUTER JOINS를 사용하여 MySQL에서 Null 개수 처리
관계형 데이터베이스로 작업할 때 여러 데이터베이스에 걸쳐 쿼리할 때 0 값을 표시하는 것이 어려울 수 있습니다. 테이블. 예를 들어, Employee와 mailingSubscriptions라는 두 개의 테이블이 있는 질문에 설명된 시나리오를 생각해 보세요. Employee 테이블에는 직원에 대한 기본 정보가 포함되어 있고 mailingSubscriptions 테이블은 이메일 구독 상태를 추적합니다.
각 직원의 구독 수를 계산하려면 다음 쿼리를 사용할 수 있습니다.
SELECT COUNT(c.Name) FROM Employee INNER JOIN mailingSubscriptions as m ON c.Name = m.EmployeeName;
그러나 이 쿼리는 mailingSubscriptions 테이블에 항목이 하나 이상 있는 직원의 수만 반환합니다. 직원이 아직 이메일을 구독하지 않은 경우 해당 개수는 결과에서 생략됩니다.
구독하지 않은 직원에 대해 0 값을 포함하려면 외부 조인을 사용해야 합니다. 외부 조인을 사용하면 일치하는 값이 없더라도 두 테이블의 행을 결합할 수 있습니다. 이 경우 mailingSubscriptions 테이블에 해당 행이 있는지 여부에 관계없이 Employee 테이블의 모든 행을 보존하는 왼쪽 외부 조인을 사용합니다.
다음 쿼리는 다음을 사용합니다. 구독이 없는 직원을 포함하여 각 직원의 구독 수를 계산하기 위한 왼쪽 외부 조인:
SELECT c.name, count(m.mailid) FROM Employee LEFT JOIN mailingSubscriptions as m ON c.Name = m.EmployeeName GROUP BY c.name;
GROUP BY c.name 절은 다음을 보장합니다. 각 직원의 구독을 별도로 계산합니다. 쿼리 결과는 직원 이름 및 해당 구독 수 목록이 되며, 아직 이메일을 구독하지 않은 직원의 경우 값이 0으로 표시됩니다.
위 내용은 외부 조인을 사용하여 MySQL에서 직원의 0 값을 포함한 구독을 계산하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!