myeclipse

来源:互联网 发布:淘宝上论文查重靠谱吗 编辑:程序博客网 时间:2024/05/17 03:39
SELECT deptno,sum(sal) FROM emp where 1=1 GROUP BY deptno

查询deptno部门的工资sal总和   图1



SELECT * FROM emp e INNER JOIN dept d on e.deptno=d.deptno
链接  emp 与 dept  表  显示所有东西 以deptno为链接  图2




SELECT e.empno,e.ename,e.sal,e.deptno,d.loc FROM emp e
INNER JOIN dept d on e.deptno=d.deptno


链接emp与dept 表 显示e表empno,e表ename,e表sal,e表deptno,d表loc   图3




e左d右  e前  前为左  d后  后为右


inner join 全部都有才查出
left  join     right  join  左右




SELECT e.*,d.* FROM emp e,dept d WHERE e.deptno=d.deptno


第二种链接  不分  left和right  图4




SELECT deptno 部门编号,sum(sal) 部门总工资,count(empno) 部门人数 , 
ename FROM emp GROUP BY deptno   图5

SELECT dept.dname,emp.deptno,sum(emp.sal)FROM emp,
dept where emp.deptno=dept.deptno GROUP BY emp.deptno


链表查询  图6






SELECT dept.dname,emp.deptno,sum(emp.sal)FROM emp
INNER JOIN dept on emp.deptno=dept.deptno GROUP BY emp.deptno




链表查询2  图7











SELECT deptno 部门编号,sum(sal) 部门总工资,count(empno) 部门人数 , 
ename FROM emp GROUP BY deptno


查询




SELECT xin.*,d.dname,d.loc FROM(SELECT deptno ,sum(sal),count(empno),ename 


FROM emp GROUP BY deptno) xin INNER JOIN dept d on xin.deptno=d.deptno




链表查询3  图8









GROUP BY   :分组
INNER JOIN   :链接
select  出来都是临时表格  




xin.别名






SELECT xin.sum_sal 总计,xin.count_empno 人数,d.dname 名称,d.loc 地


点,xin.max_sal 最大工资,xin.min_sal 最低工资,xin.deptno 部门编号
FROM(SELECT deptno ,sum(sal) sum_sal,count(empno) count_empno,MAX(sal) 


max_sal,MIN(sal) min_sal FROM 
emp GROUP BY deptno) xin INNER JOIN dept d on xin.deptno=d.deptno




链接完整版本  INNER JOIN 图9













SELECT xin.sum_sal 总计,xin.count_empno 人数,d.dname 名称,d.loc 地


点,xin.max_sal 最大工资,xin.min_sal 最低工资,xin.deptno 部门编号
FROM(SELECT deptno ,sum(sal) sum_sal,count(empno) count_empno,MAX(sal) 


max_sal,MIN(sal) min_sal FROM 
emp GROUP BY deptno) xin ,dept d WHERE xin.deptno=d.deptno




链接完整版本2    WHERE        图10








SELECT deptno,count(empno),sum(sal),AVG(sal) avg_sal FROM emp GROUP BY 


deptno HAVING 
avg_sal>2000 and avg_sal<2500


SELECT deptno,count(empno),sum(sal),AVG(sal) avg_sal FROM emp GROUP BY 


deptno HAVING 
avg_sal BETWEEN 2000 and 2500




HAVING  分组后判断  有数字判断尽量使用   BETWEEN  图11








SELECT * FROM emp ORDER BY empno LIMIT 1,2


提取从 (1)为  2行开始2行的数据   图12






原创粉丝点击