为什么“select count(*)”从没有返回1

时间:2013-12-03 17:17:34

标签: sql sql-server count sql-server-2012

使用SQL Server 2012:

use master
select *

产量

  

必须指定要从中选择的表

这正是我所期待的。

但有趣的是

use master
select count(*)

返回1.

有人可以向我解释这里算什么吗?

编辑:可能包括来源......

1 个答案:

答案 0 :(得分:13)

SQL Server(幕后)有效地将一个from应用于一个只有一行的虚拟表。因此,你的计数将获得1。

select 'test'

将做同样的事情,例如,一次返回'test'。

它类似于Oracle中的DUAL表,DB2中的SYSDUMMY1等。

根据要求,这里有一些关于此主题的MS Connect链接:

Clicky

More Clicky