SQL Server查询语句

1.查询第二个字母是t或者a的雇员的全部信息

1 select *
2 from employees
3 where firstname like '_[t,a]%'

注意:在sql中%表示字符串,所以不可像matlab一样用其注释,两个双斜线好像也不行,/**/可以,有网友说sql单行注释为--

2.更改字段名

1 select '名字' = firstname ,'姓氏' = lastname
2 from employees 
3 where firstname like '_[t,a]%'

或者

1 select  firstname as '名字' , lastname as '姓氏'
2 from employees 
3 where firstname like '_[t,a]%'

3.top关键字

1 /*检索出符合条件的前70%条记录*/
2 select  top 70 percent firstname as '名字' , lastname as '姓氏'
3 from employees 
4 where firstname like '_[t,a]%'
1 /*检索出符合条件的前2条记录*/
2 select  top 2 firstname as '名字' , lastname as '姓氏'
3 from employees 
4 where firstname like '_[t,a]%'

4.union关键字
注意:标准sql只提供了并操作,未提供交(intersection)和差(minus)操作。

1 select *
2 from employees
3 where title = 'Sales Manager'
4 union 
5 select *
6 from employees
7 where address is not null

显示:

服务器: 消息 8163,级别 16,状态 4,行 1
不能以 DISTINCT 方式选择 text、ntext 或 image 数据类型。

1 select *
2 from employees
3 where title = 'Sales Manager'
4 union all
5 select *
6 from employees
7 where address is not null

查询分析其中的分析查询(对号)是看下是否有语法错误(ctrl + F5),执行查询(右三角)(F5)是显示结果的若有语法错误则不执行。

5.compute关键字

compute子句需要以下信息:
1. 可选的By关键字可按对一列计算指定的行聚合
2. 行聚合函数:sum,avg,min,max,count
3. 要对其执行行聚合函数的列
当compute带有可选的By子句时,符合select条件的每个组都有两个结果集:
1. 每个组的第一个结果集是明细行集,其中包含该组的选择列表信息
2. 每个组的第二个结果集有一行,其中包含该组COMPUTE子句中所指定的聚合函数的小记

1 select sex,sclass,score 
2 from student 
3 order by sex 
4 compute sum(score) by sex 

注意:order by是必须的,并且 compute by后的参数应该在order by后的参数中出现过

1 select sex,sclass,score 
2 from student 
3 compute sum(score) 

 

posted @ 2012-11-29 11:18  加拿大小哥哥  阅读(6502)  评论(9编辑  收藏  举报