MySql基础笔记_17-06-29

来源:互联网 发布:多益网络在哪里 编辑:程序博客网 时间:2024/06/04 18:58



Mysql连接两个表

 通过deptno来使两个表相互连接

SELECT * FROM emp e INNER JOIN dept d on e.deptno = d.deptno;
第二种写法:
SELECT e.*,d.* from emp e,dept d WHERE e.deptno = d.deptno;
效果如下图




分组查询员工平均工资
SELECT deptno ,AVG(sal)FROM emp GROUP BY deptno;
三个部门分别为10、20、30,求出他们的平均工资
效果如下图


分组查询总工资和部门人数
SELECT deptno 部门,SUM(sal) 总工资,COUNT(empno) 部门人数 FROM emp GROUP BY deptno;
效果如下图


分组查询部门名称
SELECT emp.deptno,dept.dname FROM emp INNER JOIN dept on emp.deptno = dept.deptno GROUP BY emp.deptno
效果如下图


分组查询各部门 平均工资 最大工资 最小工资等信息
SELECT dept.deptno 部门编号,dept.dname 部门名称,xin.sum_sal 总计,xin.count_empno 总人数,xin.avg_sal 平均工资,xin.max_sal 最大工资,xin.min_sal 最小工资 FROM(SELECT deptno,SUM(sal) sum_sal,COUNT(empno) count_empno,AVG(sal) avg_sal,MAX(sal) max_sal,MIN(sal) min_sal  FROM emp GROUP BY deptno)xin,dept WHERE xin.deptno = dept.deptno;
效果如下图

分组查询员工平均工资大于2000或者小于2500
SELECT deptno,COUNT(empno),sum(sal),avg(sal) avg_sal FROM emp GROUP BY deptno HAVING avg_sal>2000 or avg_sal<2500;
效果如下图



分组查询员工平均工资2000-2500
SELECT deptno,COUNT(empno),sum(sal),avg(sal) avg_sal FROM emp GROUP BY deptno HAVING avg_sal BETWEEN 2000 and 2500

分页查询
SELECT * FROM emp LIMIT 0,4;