Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server Sql Server中出现简单选择脚本错误_Sql Server - Fatal编程技术网

Sql server Sql Server中出现简单选择脚本错误

Sql server Sql Server中出现简单选择脚本错误,sql-server,Sql Server,下面是两个脚本 挑选* 选择计数* 第一个给出错误,但第二个不给出错误 下面是sql server给出的错误 Msg 263,16级,状态1,第1行 必须指定要从中选择的表 你能告诉我原因吗 注意:未指定表名 提前感谢。选择*不是一个完整的查询 应该是 SELECT * from MyTableName SELECT*不是完整的查询 应该是 SELECT * from MyTableName select count*之所以有效,是因为它默认为主数据库 如其他答案所述,您必须指定一个表名。选

下面是两个脚本

挑选* 选择计数* 第一个给出错误,但第二个不给出错误

下面是sql server给出的错误

Msg 263,16级,状态1,第1行 必须指定要从中选择的表

你能告诉我原因吗

注意:未指定表名

提前感谢。

选择*不是一个完整的查询

应该是

SELECT * from MyTableName
SELECT*不是完整的查询

应该是

SELECT * from MyTableName
select count*之所以有效,是因为它默认为主数据库

如其他答案所述,您必须指定一个表名。

选择计数*有效的原因是它默认为主数据库

正如其他答案中所述,您必须指定一个表名。

在第一个查询中,要使其完整,您需要定义from子句

在第二个查询中,如果未指定要从中选择的表,则单个select将只返回一行,因此count*将返回1

FROM子句是可选的,它一直以这种方式工作。因此,您可以执行SELECT 1或SELECT@val等操作,而无需表格

在其他数据库系统中,有一个名为DUAL的虚拟表,其中有一行用于执行SELECT语句,如SELECT 1 FROM DUAL

在第一个查询中,要使其完整,需要定义from子句

在第二个查询中,如果未指定要从中选择的表,则单个select将只返回一行,因此count*将返回1

FROM子句是可选的,它一直以这种方式工作。因此,您可以执行SELECT 1或SELECT@val等操作,而无需表格

在其他数据库系统中,有一个名为DUAL的虚拟表,其中有一行用于执行SELECT语句,如SELECT 1 FROM DUAL

select count*之所以有效,是因为count是一个函数并返回一个标量值,因为from子句是可选的,所以它将成功执行,*既不是函数也不是标量值,这就是它无法执行的原因

SELECT语句中子句的顺序很重要。任何一个可选子句都可以省略,但在使用可选子句时,它们必须以适当的顺序出现

因此,select后跟任何标量值都将执行,即select 1,select'*'

select count*之所以有效,是因为count是一个函数并返回标量值,因为from子句是可选的,它将成功执行,而*既不是函数,也不是标量值,这就是它无法执行的原因

SELECT语句中子句的顺序很重要。任何一个可选子句都可以省略,但在使用可选子句时,它们必须以适当的顺序出现


因此,将执行select,后跟任何标量值,即select 1,select'*'

您能解释一下吗?如果没有任何表格,count*将如何工作?你能再解释一下吗?如果没有任何表格,count*将如何工作?
    [ WITH <common_table_expression>]
SELECT select_list [ INTO new_table ]
[ FROM table_source ] [ WHERE search_condition ]
[ GROUP BY group_by_expression ]
[ HAVING search_condition ]
[ ORDER BY order_expression [ ASC | DESC ] ]