pg14-sql基础(二)-排序与条件

排序

SELECT employee_id, first_name, last_name, hire_date, salary
FROM employees
ORDER BY first_name; --按字母,默认升序
ORDER BY hire_date ASC; --升序
ORDER BY hire_date DESC; --降序
SELECT employee_id, first_name, last_name, hire_date, salary
FROM employees
ORDER BY first_name, last_name DESC --姓按照升序排,名按照降序排

在这里插入图片描述

在这里插入图片描述

SELECT employee_id, first_name, last_name, hire_date, salary
FROM employees
ORDER BY 2, 3 DESC --也可输入要查询字段的顺序号码
SELECT employee_id, manager_id
FROM employees
ORDER BY manager_id DESC; --排序时null是最大的值

SELECT employee_id, manager_id
FROM employees
ORDER BY manager_id NULLS FIRST; --指定排序时null是第一

返回top

-- 前十名
SELECT first_name, last_name, salary
FROM employees
ORDER BY salary
-- FETCH FIRST 10 ROWS ONLY;
LIMIT 10; --无相同值

在这里插入图片描述

SELECT first_name, last_name, salary
FROM employees
ORDER BY salary
FETCH FIRST 10 ROWS WITH TIES;
-- 返回数据包含相同值

在这里插入图片描述

SELECT first_name, last_name, salary
FROM employees
ORDER BY salary
OFFSET 10 ROWS --实现翻页,第一次1-10,第二次11-20,第三次,21-30
-- OFFSET 20 ROWS
-- OFFSET 30 ROWS
FETCH FIRST 10 ROWS ONLY;
SELECT first_name, last_name, salary
FROM employees
ORDER BY salary
LIMIT 10 OFFSET 10; --同实现翻页
-- LIMIT 10 OFFSET 20;
-- LIMIT 10 OFFSET 20;

条件表达case

SELECT first_name, last_name,
  CASE
     WHEN salary <5000 THEN '低收入'
	  WHEN salary between 5000 and 100000 THEN '中等收入'
	  ELSE '高收入'
  END AS "收入等级"
FROM employees;

在这里插入图片描述

--查询部门编号为10、20、30有各多少人
SELECT COUNT(CASE department_id WHEN 10 THEN 1 END) dep_cnt_10,
-- 换种写法:COUNT(*) FILTER (WHERE department_id=10) dep_cnt_10,
       COUNT(CASE department_id WHEN 20 THEN 1 END) dep_cnt_20,
	   COUNT(CASE department_id WHEN 30 THEN 1 END) dep_cnt_30
FROM employees;

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值