가입 I 다음 MySQL의 코드가 있습니다MySQL의 왼쪽 NULL 문제
작업 쿼리
SELECT name, AVG(q1) AS avg
FROM respondents
LEFT JOIN results_new ON respondents.login_id = results_new.company
WHERE respondents.brand = 'ABC'
AND results_new.sdate = 'MAY2014'
GROUP BY name
ORDER BY avg
DESC
제대로 위의 작품, 그것은 다시 35 개 행을 제공하고 올바르게 이름과 평균을 표시합니다.
비 작업 쿼리
SELECT name, AVG(q1) AS avg
FROM respondents
LEFT JOIN results_new ON respondents.login_id = results_new.company
WHERE respondents.brand = 'ABC'
AND results_new.sdate = 'NOV2014'
GROUP BY name
ORDER BY avg
DESC
위의 반환 zero
결과 -`NOV2014 '에 대한 테이블에 데이터가 없기 때문에 올바른 것입니다.
그러나 나는 각각의 이름 옆에 name
및 NULL
과 함께 35 개의 행을 반환하는 쿼리가 발생한다고 예상했습니다. 분명히 내 JOIN
이 올바르지 않다고 생각하지만 잘못 가고있는 부분을 해결할 수는 없습니다.
모든 조언을 환영합니다.
WHERE' 절에서 왼쪽으로 조인 된 테이블의 열을 사용하면 왼쪽 조인이 내부 조인으로 변경됩니다. 이 조건을 조인 절에 추가해야합니다. – VMai