为什么SQL Select语句语法不正确?

为什么SQL Select语句语法不正确?,sql,Sql,我们刚接触SQL时,被非正式地教授语法,不知道我遗漏了什么 无法更改数据库 Select Sum('Unit Price') as TotalPrice, Count('Order ID') as NumOfDiffProds, Avg(Quantity) as AvgQuantity, Avg(Discount) as AvgDiscount From [Order Details] Where [Order ID] = 1 我得到这个错误: SELECT语句包含拼写错误或缺少的保留字或参

我们刚接触SQL时,被非正式地教授语法,不知道我遗漏了什么

无法更改数据库

Select Sum('Unit Price') as TotalPrice, Count('Order ID') as NumOfDiffProds, 
Avg(Quantity) as AvgQuantity, Avg(Discount) as AvgDiscount
From [Order Details]
Where [Order ID] = 1
我得到这个错误:


SELECT语句包含拼写错误或缺少的保留字或参数名称,或者标点符号不正确


删除列名中的单引号

Select Sum("Unit Price") as TotalPrice, 
Count("Order ID") as NumOfDiffProds, 
Avg(Quantity) as AchQuantity, Avg(Discount) as AvgDiscount
FROM TableName;
我认为您正在使用MySQL。可以使用反勾号引用带有空格的表名或列名:

Select 
    Sum(`Unit Price`) as TotalPrice, 
    Count(`Order ID`) as NumOfDiffProds, 
    Avg(`Quantity`) as AvgQuantity, 
    Avg(`Discount`) as AvgDiscount
From 
    `Order Details`
Where 
    `Order ID` = 1

建议:尽量避免创建名称中带有空格的数据库对象。

您的错误是什么-缺少表名SELECT语句包含拼写错误或缺少的保留字或参数名,或者标点符号不正确,请不要破坏您自己的问题。带空格的列名应该用括号括起来。带空格的列名需要在SQL中用双引号括起来。和方括号在标准SQL中无效。@TetsuyaYamamoto:否-它们应该用双引号括起来-至少在SQL中和在标准SQL中一样。方括号在标准SQLS中无效,但似乎不起作用anything@Domtheanon您没有在查询中输入表名,单qoute并不意味着列名,它引用字符串值。我已经用确切的错误作为注释更新了OP。请再看一看。@Domtheanon您的数据库管理系统是什么