注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

luofan19840908的博客

 
 
 

日志

 
 

SQL查询语句语法笔记  

2007-07-17 22:31:40|  分类: 软件开发 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

在 SQL Server 中,写 select 查询语句的时候有时候需要自定义表的列名,而有时候甚至需要虚拟出来一整列,这里将前者称之为列/字段的别名,后者称为自定义列。 
下面把这两天碰到的情况总结一下,当作一个学习笔记。因为比较琐碎且不常用,因此,发表出来备忘是最 
重要的原因。 

1.当在 select 关键字后跟任两个意字符/字符串的时候(两个字符/字符串之间用空格隔开,不是逗号), 
如果前一个字符/字符串未加引号,SQL Server 会首先尝试将其解析为数据表中的列名,并按照这个 
列名去查找数据。此时,如果在数据表中确实存在这么一个字段时 SQL Server 会正常显示结果, 
但如果没有,则会报错,提示列名无效。 
在可以正常显示结果的情况下,SQL Server 会将后面的字符/字符串当作前一个字符/字符串所代表 
的列的一个自定义列名/别名。即使后一个字符/字符串是表中的另一个字段也不例外。这种情况下隔开两 
个字符/字符串的空格其实就相当于‘as’(as 是专门用来指定列的别名的,A as B,即 A 的别名是 B )。 

2.当在 select 关键字后跟任两个意字符/字符串的时候(两个字符/字符串之间用等号连接,不是逗号), 
如果后一个字符/字符串未加引号,与上一种情况相反,SQL Server 会尝试将后一个字符/字符串解析为列 
名。同样的当表中确实存在该字段时 SQL Server 会正常显示结果,但如果没有,则会提示列名无效。 
在可以正常显示的情况下,SQL Server 会将前面的字符/字符串当作后一个字符/字符串所代表的列的一个自 
定义列名。即使后一个字符/字符串是表中的另一个字段也不例外。 

3.特别的,当两个字符/字符串用等号相连是,如果后一个用单引号引起来,则 SQL Server 不会将其 
解析为列名,而是作为一个列的值。而它的所属列就是等号前面的那个字符/字符串,此时该字符/字 
符串作为查询结果的一个自定义列,而不是前面出现的某个列的自定义列名。与此等效的是“值 字 
符/字符串”的书写格式,值(数字、用引号引起来的字符/字符串)始终填充列,而列的名称就是字 
符/字符串。  
  评论这张
 
阅读(521)| 评论(2)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018