LEFT JOIN 或 RIGHT JOIN 在GROUP BY 下如何利用COUNT统计有NULL的行

来源:互联网 发布:人工智能炒作逻辑 编辑:程序博客网 时间:2024/03/29 01:59
  


LEFT JOIN :
SELECT * FROM DEPT D LEFT JOIN EMP E ON D.ID=E.DEPT_ID


RIGHT JOIN :
SELECT * FROM DEPT D RIGHT JOIN EMP E ON D.ID=E.DEPT_ID


INNER JOIN :
SELECT * FROM DEPT D INNER JOIN EMP E ON D.ID=E.DEPT_ID


JOIN :  == INNER JOIN
SELECT * FROM DEPT D JOIN EMP E ON D.ID=E.DEPT_ID;



join + group by + count 的使用 : 按分组统计合并的组内记录数


SELECT *,COUNT(D.ID) NUM
FROM DEPT D LEFT JOIN EMP E ON D.ID=E.DEPT_ID
GROUP BY D.`NAME`
 


SELECT *,COUNT(E.ID) NUM
FROM DEPT D LEFT JOIN EMP E ON D.ID=E.DEPT_ID
GROUP BY D.`NAME`


总结:
count(A)函数的使用,A的利用很重要,看A列的目标记录行是否为NULL来判断是置 0 或 1




0 0