SqlServer 基础知识 数据检索、查询排序语句

网络整理 - 07-26

SqlServer 基础知识 数据检索、查询排序语句,需要的朋友可以参考下:

--执行顺序 From Where Select 

select * from 

(select sal as salary,comm as commission from emp ) x where salary<5000 

--得出 Name Work as a Job 

select ename +' Work as a'+job as msg from emp where deptno=10 

--如果员工工资小于2000返回UnderPaid 大于等于4k 返回OverPaid 之间返回OK 

select ename,sal, 

case when sal<2000 then 'UnderPaid' 

when sal>=4000 then 'OverPaid' 

else 

'OK' 

end 

from emp 

--从表中随机返回N条记录 newid() 

--order by 字句中指定数字常量时,是要求根据select列表中相应位置的列排序 

--order by 字句中用函数时,则按函数在没一行计算结果排序 

select top 5 ename from emp order by newid() 

--找空值is null 

select * from emp where comm is null 

--将空值转换为实际值 

--解释:返回其参数中第一个非空表达式 

--coalesce 联合,合并,结合.英音:[,kəuə'les]美音:[,koə'lɛs] 

select coalesce(comm, 1),empNo from emp 

--按模式搜索 

--返回匹配特定子串或模式的行 

select ename,job 

from emp 

where deptno in(10,20) 

--按子串排序 按照职位字段的 最后两个字符排序 

select ename, job from emp order by substring(job,len(job)-2,2) 

--select top 2 len(job)-2 from emp 

--select top 2 job from emp 

--☆☆☆☆☆处理排序空值☆☆☆☆☆ [只能是大于0] 

select ename ,sal,comm 

from emp 

order by 1 desc 

-- 以降序或升序方式排序非空值,将空值放到最后,可以用case 

select ename,sal,comm from 

select ename ,sal,comm , 

case when comm is null then 0 else 1 end as A 

from emp 

) x 

order by A desc ,comm desc