员工表emp:
字段:empno(编号),ename(姓名),job(职位),mgr(上级的编号),hiredate(入职时间),sal(薪水),comm(奖金),deptno(部门编号)
部门表dept
字段:deptno(部门编号),dname(部门名),loc(地点)
1.取消重复行(distinct 只能消除完全一样的行,保留一行)
select distinct 字段 from 表名 where 条件
2.排序
order by 默认是升序排序
order by desc 降序
3.数据分组——max,min,avg,sum,count
----如何显示所有员工中工资最高和工资最低的
----如何显示最低工资和该雇员的名字
.select ename,sal from emp where sal=(select min(sal) from emp)
----显示所有员工的平均工资和工资总和
-----把高于平均工资的雇员的名字和他的工资显示出来
select avg(sal) 平均工资,sum(sal) 总工资 from emp,
select ename,sal from emp where sal>(select avg(sal) from emp)
----统计共有多少员工
select count(*) from emp
4.group by 和having
group by 用于对查询结果分组统计
having 子句用于限制分组显示结果,往往和group by 结合使用,对分组查询的结果进行筛选
----如何显示每个部门的平均成绩和最高成绩
select avg(sal),deptno,max(sal) from emp group by deptno
----显示每个部门的每种岗位的平均工资和最低工资
select avg(sal),min(sal),deptno,job from emp group deptno,job order by deptno
----显示平均工资低于2000的部门号和它的平均工资
select avg(sal) ,deptno from emp group by deptno having avg(sal) <2000 order by avg(sal) asc