问:我刚安装了Microsoft SQL Server 2000个人版,发现它的SQL语句怎么和标准不一样。比如我使用最简单的查询语句"select * from user"查询表user,结果它提示语法错误,后来系统自动给我纠正过来变成"select * from [user]",查询才成功执行了。 也就是说要给表名添加方括号才是正确的格式。
答:因为"user"是SQL Server保留的关键字,所以用"select * from user"查询会提示语法错误。加上中过号,以声明其不是保留字。 如果表名不是关键字,如Company,则用"select * from Company"是没问题的,不用加中括号
[] 里的内容表示是一个用户级的变量. 目的是防止用户使用的名称和系统保留字冲突 比如你有一个表名就叫select 那么你select * from select肯定是不行的. 但是你select * from [select] 就没问题了 你那个user也是一样. 所有的表名字段名都可以加[],但是只要不跟系统关键字冲突就可以省略