第二章 查询结果排序(SQL server经典实例)

第二章 查询结果排序(SQL sever经典实例)

/****** SSMS 的 SelectTopNRows 命令的脚本  ******/
SELECT TOP (1000) [EMPNO]
      ,[ENAME]
      ,[JOB]
      ,[MCG]
      ,[HIREDATE]
      ,[SAL]
      ,[COMM]
      ,[DEPTNO]
  FROM [Text_02].[dbo].[emp]

  --以指定顺序返回查询结果
  --显示部门编号为10的员工的姓名、职位和工资,并按工资低到高排序
  select ename,job,sal from emp where deptno=10 order by sal asc
  --asc   升序              desc   降序
  select ename,job,sal from emp where deptno=10 order by sal desc

  select ename,job,sal from emp where deptno=10 order by 3 desc
  --3对应select列表的第三列,即sal列


  --多字段排序
  --先按deptno升序,再按sal降序
  select empno ,deptno ,sal ,ename ,job from emp order by deptno , sal desc
  --默认升序asc,可省

  --根据子串排序
  --按照职位字段的最后两个字符对检索结果进行排序
  select ename ,job from emp order by substring(job, len(job)-2,2)

--排序时对null值进行处理
--非null值comm升序排列,全部null放在后面
select ename,sal,comm from
	(select ename,sal,comm,
				case when comm is null then 0 else 1 end as is_null      --comm为null的行取别名is_null
	 from emp)x                       --内嵌式图x
	 order by is_null desc ,comm

--排序时对null值进行处理
--非null值comm升序排列,全部null放在后面
select ename,sal,comm from
	(select ename,sal,comm,
				case when comm is null then 0 else 1 end as is_null      --comm为null的行取别名is_null
	 from emp)x                       --内嵌式图x
	 order by is_null ,comm desc

	 --依据条件逻辑动态调整排序项
	 select ename ,sal ,job, comm from emp
		order by case when job='SALESMAN' then comm else sal end 

	select ename ,sal ,job, comm,
	case when job='SALESMAN' then comm else sal end as ordered 
	from emp order by 5

1. 以指定顺序返回查询结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. 多字段排序

在这里插入图片描述

3. 根据子串排序

在这里插入图片描述

4. 排序时对null值进行处理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5. 依据条件逻辑动态调整排序项

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值