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 70 percent 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)