SQL实际产生的SELECT函数是什么?它是否默认生成一个新表



我很难理解SELECT的输出在SQL中意味着什么(我使用的是MS ACCESS(,以及这个输出需要指定什么样的标准(如果有的话(。因此,我不明白为什么有些查询有效,而另一些查询无效。所以我知道它从表中检索数据,用它进行计算并显示它;内部";SELECT函数的工作。例如,它显示的数据结构/实体的名称是什么?它是一个";新的";桌子

例如,假设我有一个名为";table_name";,具有5列。其中一列被称为";column_ 3";,有20条记录。

SELECT  column_3, COUNT(*) AS Count
FROM table_name;

为什么此查询无法运行?根据逻辑,我希望它显示两列:第一列将是";column_ 3";,包含具有相关数据的20行;计数";,只包含一个非空行(显示20(,而其他19行将为空(或者可能为NULL(?

是因为SELECT的意思是为每列生成相等数量的行吗?

您的问题涉及对SQL的基本理解。SELECT语句不创建表,而是返回虚拟结果集。除非将其更改为INSERT,否则不会持久化任何内容。

在你的示例问题中,你需要;告诉";SQL引擎您想要的计数";的";。因为添加了column_3,所以需要写:

SELECT column_3, COUNT(*) AS Count 
FROM table_name 
GROUP BY column_3

如果您想要对所有行进行计数,只需:

SELECT COUNT(*) FROM table_name

最新更新