SELECT NR_DZIALU, COUNT (NR_DZIALU) AS LICZ_PRAC_DZIALU
FROM PRACOWNICY
GROUP BY NR_DZIALU
HAVING NR_DZIALU = 30
or
SELECT NR_DZIALU, COUNT (NR_DZIALU) AS LICZ_PRAC_DZIALU
FROM PRACOWNICY
WHERE NR_DZIALU = 30
GROUP BY NR_DZIALU
理论(我的意思是理论SQL标准 http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt) 表示 WHERE 在返回行之前限制结果集,而 HAVING 在返回所有行之后限制结果集。所以 WHERE 更快。在这方面,在符合 SQL 标准的 DBMS 上,仅在无法将条件放在 WHERE 上的情况下使用 HAVING(如某些 RDBMS 中的计算列)。
您只需查看两者的执行计划并自行检查,没有什么比这更好的了(使用您的数据在特定环境中测量特定查询。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)