如果我运行查询,例如:
SELECT COUNT(*) as num FROM table WHERE x = 'y'
即使查询与任何记录都不匹配,它也会始终返回结果吗?还是我需要验证并确保结果返回一行?
是的,因为它是一个聚合并且返回零。除非您添加GROUP BY,否则由于没有组,因此没有结果…
除非您添加GROUP BY,然后没有任何行,否则MAX / SUM等将返回NULL。只有COUNT传回没有结果的数字
编辑,有点晚:SUM会像MAX一样返回NULL
编辑,2013年5月:这适用于所有主要RDBMS。我想按照ANSI标准