2017.6.29 学习记录 MySql的运用查询

连接查询两个表里面相同字段
SELECT(表1别名1.表1字段1)...(表2别名2.表2字段2)...FROM 表1 别名1 INNER JOIN 表2 别名2 ON 表2别名2=表1别名1
SELECT e.empno,e.ename,e.sal,e.deptno,d.dname,d.loc FROM emp e INNER JOIN dept d ON d.deptno=e.deptno
下面意思与上面相同但下面步骤更简便
SELECT e.*,d.* FROM emp e,dept d WHERE e.deptno=d.deptno


查询部门编号 总工资 COUNT为计数计算多少列 
SELECT 列名 部门编号,SUM(列名) 总工资,COUNT(列名)部门人数  FROM 表名
SELECT deptno 部门编号,SUM(sal) 总工资,COUNT(empno)部门人数  FROM emp


GROUP BY排序,INNER JOIN 表连接 NO 条件


查询(表1每个部门的(工资总和),每个部门(出现了几次))GROUP BY分组,INNER JOIN 表连接 NO 条件
SELECT 表1的别名.*(代表 表1全部别名),表2别名.列1,表2别名.列2 FROM (SELECT 列名,SUM(列名),COUNT(列名)FROM 表名 GROUP BY 列名) e INNER JOIN 字段 别名 ON e.deptno=d.deptno
SELECT e.*,d.dname,d.loc FROM (SELECT deptno,SUM(sal),COUNT(empno)FROM emp GROUP BY deptno) e INNER JOIN dept d ON e.deptno=d.deptno


只显示单个部门编号及名称 和钱总计
SELECT 别名1.列名 部门编号,别名1.列名 部门名称,别名2.调用函数aa 总计 FROM
(SELECT 列名2,SUM(列名2) 函数定义aa,COUNT(列名2),AVG(列名2),MAX(列名2),MIN(列名2)FROM 表名2 GROUP BY 列名2)
别名2, 表名1 别名1 WHERE 别名2.列名2=别名1.列名1


/*SELECT d.deptno 部门编号,d.dname 部门名称,e.aa 总计 FROM
(SELECT deptno,SUM(sal) aa,COUNT(empno),AVG(sal),MAX(sal),MIN(sal)FROM emp GROUP BY deptno)
e,dept d WHERE e.deptno=d.deptno*/


取表里 部门编号出现次数 取其工资总和 平均值   
如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。
SELECT 表1部门编号列,COUNT(表2部门编号列),SUM(表2工资列),AVG(表2工资列) 则为方法avg_sal FROM 表2 GROUP BY 表1编号列 HAVING 方法调用avg_sal BETWEEN 2000 AND 2500
SELECT deptno,COUNT(empno),SUM(sal),AVG(sal) avg_sal FROM emp GROUP BY deptno HAVING avg_sal BETWEEN 2000 AND 2500


表分页 LIMIT
SELECT * FROM 表名 LIMIT 开始的列数,开始后五条;
SELECT * FROM emp LIMIT 1,5;
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值