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


SQL Server查询语句_语法错误

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



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


SQL Server查询语句_语法错误_02

 


作者:​​火星十一郎​

本文版权归作者火星十一郎所有,欢迎转载和商用,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.