去重 : 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;
  










