写点什么

【sql 语句基础】——查 (select)(单表查询顺序补充)

  • 2022 年 6 月 13 日
  • 本文字数:514 字

    阅读完需:约 2 分钟

【sql语句基础】——查(select)(单表查询顺序补充)


单表查询语句顺序


单表查询包含分组(group by)过滤(having)排序(order by)以及分页(limit),在较复杂的多表查询中,我们通常会用到以上多个甚至所有,在 MySQL 语句中,场景不同,顺序不同,查询结果也将不同甚至报错

查询格式

select column1,column2,column3... from table  group by  -- 分组  having  -- 过滤  order by  -- 排序  limit  -- 分页
复制代码

例题代码示例

要求查询:平均工资 最高两个部门部门号和平均工资。若平均工资低于1000则不显示

分析:

  1. 平均工资:使用 AVG();

  2. 按部门查询:GROUP BY 字段;

  3. 平均工资需要超过 1000:HAVING 平均工资>1000;【用到了第一步和第二部的结果】

  4. 平均工资最高:ORDER BY 字段 DESC;【平均工资排序,用到了第三步的结果】

  5. 两个部门:分页 LIMIT 0,2; 【取平均工资最高且大于 1000 的两个哥部门,需要用到第四部排序后的结果】

代码演示

SELECT AVG(sal)AS avg_sal,deptno  FROM emp  --查询emp表  GROUP BY deptno  --按部门号分组  HAVING avg_sal>1000  --赛选平均工资大于1000  ORDER BY avg_sal DESC  --降序排列  LIMIT 0,2;  --0表示从第一行开始,2表示查询两行,即查询第一行和第二行
复制代码


由此可见,单表查询的顺序都是严格按照逻辑要求的!!

发布于: 刚刚阅读数: 4
用户头像

还未添加个人签名 2022.06.02 加入

喜欢Java和py,会更新自己在学习过程中遇到**比较重要的知识点**以及**自己遇见的问题与解决方法**哦,如果你也正在学Java,就请留下一个关注吧

评论

发布
暂无评论
【sql语句基础】——查(select)(单表查询顺序补充)_数据库_写代码两年半_InfoQ写作社区