复制代码代码如下:--执行顺序FromWhereSelectselect*from(selectsalassalary,commascommissionfromemp)xwheresalary<5000--得出NameWorkasaJobselectename+'Workasa'+jobasmsgfromempwheredeptno=10--如果员工工资小于2000返回UnderPaid大于等于4k返回OverPaid之间返回OKselectename,sal,casewhensal<2000then'UnderPaid'whensal>=4000then'OverPaid'else'OK'endfromemp--从表中随机返回N条记录newid()--orderby字句中指定数字常量时,是要求根据select列表中相应位置的列排序--orderby字句中用函数时,则按函数在没一行计算结果排序selecttop5enamefromemporderbynewid()--找空值isnullselect*fromempwherecommisnull--将空值转换为实际值--
--执行顺序 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
标签: SqlServer 基础知识 数据 检索 查询 排序 语句
声明:本文内容来源自网络,文字、图片等素材版权属于原作者,平台转载素材出于传递更多信息,文章内容仅供参考与学习,切勿作为商业目的使用。如果侵害了您的合法权益,请您及时与我们联系,我们会在第一时间进行处理!我们尊重版权,也致力于保护版权,站搜网感谢您的分享!