这个不是必须要加,但表名或字段名如果引用了sqlserver中的关键字,数据库会不识别这到底是关键字还是表名(或字段名)时就必须要加。
比如,一个表名叫user,user在sqlserver中属于关键字,那么查询的时候必须要这样:
select * from [user]
否则就会报错。
同理,如果user属于字段名,也同样要加,如
select * from 表名 where [user]=1
因为"user"是SQL Server保留的关键字,所以用"select * from user"查询会提示语法错误。加上中过号,以声明其不是保留字。
如果表名不是关键字,如Company,则用"select * from Company"是没问题的,不用加中括号
[] 里的内容表示是一个用户级的变量.
目的是防止用户使用的名称和系统保留字冲突
比如你有一个表名就叫select
那么你select * from select肯定是不行的.
但是你select * from [select] 就没问题了
你那个user也是一样.
所有的表名字段名都可以加[],但是只要不跟系统关键字冲突就可以省略
SQL的语句和INFORMIX等数据库的SELECT语句都是标准的。
去网上找1下把