去重  : distinct

表示按照某个字段或某几个字段去重,相同的记录只保留一个
    注意:只有一个字段时,可以加括号,如果是按照多个字段去重时,不可以加括号,否则会报错

示例:查询员工信息表中的性别信息,并按照性别去重
select distinct sex from emp

练习:查询员工信息emp表中的部门编号信息,并按照部门编号去重
select distinct(deptno) from emp

设置别名  as
给查询返回的字段或者查询的表起个临时的名字
        注意:1、起的别名只是在本次查询中生效
                    2、给字段起的别名不能跟在where后面进行判断(但是可以跟在group by,having和order by后面)
                    3、as可以忽略不写(但是建议写上,提高可读性)

select ename as 姓名,deptno as 部门编号,empno as 员工编号 from emp

排序  ---order by
将查询出来的字段按照指定的字段,指定的方式进行展示

语法:
select 查询内容 from 表 where 限定条件 order by 排序条件1,排序条件2,
排序方式: 升序--asc
            降序---desc
            不知道排序方式的情况下,默认是升序(asc可以不写,但是建议写上)
            注意:如果要对中文的内容按照拼音的顺序进行排序的话,需要将其字符集转换成gbk后再排序

示例:查询员工信息表中张姓员工的员工编号,姓名,性别和工资信息,并按照工资降序展示
select empno as 员工编号,ename as 姓名,sex as 性别,sal as 工资信息 from emp where ename like '张%' order by 工资信息 desc;

示例:查询员工信息表,并按照员工姓名升序展示
select * from emp order by ename asc;
select * from emp order by convert(ename using gbk) asc;

练习:查询员工信息表emp中工资大于10000的员工编号,姓名,工资以及部门编号信息,并按照性别升序,部门编号降序展示
select ename as 姓名,empno as 员工编号,sal as 工资·,deptno as 部门编号,sex as 性别 from emp where sal > 10000 order by sex,deptno desc;

分组  ---group by
将查询的结果按照指定的条件进行分组统计
语法:
select 查询内容 from 表 where 限定条件 group by 分组条件1,分组条件2 order by 排序条件1 排序方式.....

示例:查询员工信息表emp,并按照部门编号分组显示
select * from emp group by deptno

练习:查询员工信息emp表中姓张的员工信息,并按照性别,部门编号分组,并按照性别升序,部门编号降序展示
select ename as 姓名,sex as 性别,deptno as 部门编号 from emp where ename like '张%' group by sex,deptno order by sex asc,deptno desc;

聚合函数:

计数函数  ---count()
返回查询的语句一共多少条数据

count(*) --查询的时候,只要有一行数据,那么就在返回的结果中+1
count(字段) --查询的时候,如果该字段不为空,那么就在返回结果上+1,否则忽略不计
count(0) --返回值与count(*)是一样的

示例:查询emp表中公司共有多少个人
select count(*) as 总人数 from emp

练习1:查询员工信息emp表中各性别有多少人
select sex as 性别,count(*) as 人数 from emp group by sex

练习2:查询员工信息emp表中工资大于40000的张姓员工的各性别有多少人,并按照人员数量降序展示
select ename as 姓名,sal as 工资,sex as 性别,count(*) as 人员数量 from emp where sal > 40000 and ename like '张%' group by sex order by 人员数量 desc

练习3: 查询员工信息emp表中共有多少个部门
select deptno from emp group by deptno;
select count(distinct deptno) from emp

求和函数 --- sum()
返回某个字段相加的总和,为null的字段当做忽略不算

示例:查询emp表中各性别的薪资总和
select sex as 性别,sum(sal) as 薪资总和 from emp group by sex

求平均数 ---avg()
返回某个字段的平均数,为null的行不参与求平均

示例:查询emp表中各性别的平均薪资
select sex as 性别,avg(sal) as 平均薪资 from emp group by 性别

求最大值 ---max()
返回某个字段的最大值

求最小值 ---min()
返回某个字段的最小值

练习:查询员工信息表中各部门的张姓男员工的总人数,工资总和,平均工资,最高工资和最低工资,并按照平均工资降序展示
select deptno as 部门,count(*) as 总人数,sum(sal) as 工资总和,avg(sal) as 平均工资,max(sal) as 最高工资,min(sal) as 最低工资 from emp where ename like '张%' group by 部门 order by 平均工资 desc;

mysql基础学习--day7相关推荐

  1. MySQL基础学习——Day5

    文章目录 MySQL基础学习--Day5 索引 1.什么是索引? MySQL在查询方面主要就是两种方式: 2.索引的实现原理? 1.索引的实现原理: 2.添加索引的条件 3.索引的创建和删除? 1.创 ...

  2. MySQL基础学习③数据库准备工作,导入官方employees数据库

    文章目录 1.前言 2.构建步骤 2.1 测试数据库文件下载 2.2 在test_db文件里打开cmd 2.3 导入成功 3. employees数据库 -- 职工雇佣信息 3.1 employees ...

  3. Mysql基础学习Day01

    Mysql基础学习Day01 1.SQL语言的分类 2.注释 3.基本的select语句 4.显示表结构 5.过滤数据 突然发现java基础内容学的差不多了 就又开一个mysql基础学习 1.SQL语 ...

  4. MySQL基础学习2

    MySQL 基础 2.1 MySQL 基础 (二)- 表操作 作业 项目三:编写一个 SQL 查询,列出所有超过或等于5名学生的课 项目四:交换工资 项目五:有趣的电影 2.2 MySQL 基础 (三 ...

  5. MySQL基础学习笔记(带目录)

    MySQL学习笔记 MySQL产品的介绍和安装 MySQL服务的启动和停止 MySQL服务的登陆和退出 MySQL的常见命令 MySQL的语法规范 MySQL基础查询 1.起别名 2. 去重disti ...

  6. MySQL基础学习笔记

    一.数据库基本概念 1.1 数据库 - Database 从字面意思看,数据库就是一个存储数据的仓库.从计算机的角度来讲,数据库(Datebase)是按照数据结构来组织.存储和管理数据的仓库. 简单来 ...

  7. MySQL基础学习笔记(持续更新中)

    一.MySQL基础 1. 数据库概念 1.1 为什么要学MySQL 个人理解:随着互联网的发展,数据变得烦杂,冗余,量大,为了保证数据的持久性以及健壮性等等,同时也为了方便人们很好的处理数据,这就发明 ...

  8. MySQL基础-学习笔记

    MySQL基础 一.DQL语言的学习 1.基础查询 /* 语法: select 查询列表 from 表名特点: 1-查询的结果集是一个虚拟表 2-select类似于System.out.printIn ...

  9. MySQL基础学习——第一篇

    目录 MySQL定义 MySQL的安装 MySQL打开 MySQL常用数据类型 一,数值类型 二,日期和时间类型 三,字符串类型 MySQL基础命令 一,关于库的内容 1,怎创建数据库 2,删除数据库 ...

  10. MYSQL基础--学习笔记

    最近一段时间,系统的学习了下mysql相关知识,当然都是比较基础的,现在贴出来,以供参考备忘--帅帅的小猪猪 创建用户: CREATE USER 'sampadm'@'localhost' IDENT ...

最新文章

  1. linux重启后出现control+D错误的解决
  2. C# AppDomain
  3. 深度学习的数学 (3)基础函数
  4. net::ERR_INCOMPLETE_CHUNKED_ENCODING(php项目+nginx)
  5. mysql数据库 支付_如何管理MySQL数据库?
  6. tensorflow与numpy的版本兼容性问题(亲测)
  7. windows安装XGBoost
  8. [EDA] 第1章 EDA技术概述-潘松版
  9. 2016/4/19 ①单个文件上传 ②上传图片后 预览图片
  10. [Git高级教程 (一)] 通过 Tag 标签回退版本修复 bug
  11. 近一半的智能手机受高通 Snapdragon 漏洞影响
  12. shell正则表与文本工具sed
  13. system.data.oracleclient requires oracle client software version 8.1.7 or greater问题(转贴)
  14. oracle和sqlserver数据库直接生成xml
  15. 计算机网络知识点汇总(考研用)
  16. Linux下压缩文件夹
  17. Linux Ubuntu系统fwknop单包授权认证(SPA)流程
  18. 最强 Python 数据可视化库,没有之一!
  19. C语言贪吃蛇游戏代码,贪吃蛇C语言代码实现大全
  20. Yii中CGridView单元格组件和数据提供者的使用

热门文章

  1. php 服务端埋点,客户端埋点方案总结
  2. 英语四级——常考语法【不断更新中】
  3. 操作系统实践 job3
  4. 《python网络爬虫》1-7章答案
  5. 【学习记录】SPSS问卷调查表分析法
  6. 微众银行·We研究2021年最新大调研报告“健康险专题” : 用户保险消费的三个改变
  7. 实现多余文字显示省略号
  8. 共享经济新模式——共享员工
  9. Android淑女剑之HorizontalScrollView之窈窕淑女
  10. 卡尔曼滤波器:用R语言中的KFAS建模时间序列