链表查询:
SELECT 表2.字段,表1.字段 FROM 表1 INNER JOIN 表2 ON 表1.字段=表2.字段
select 表1.字段,表2.字段 from 表1 ,表2 where 表1.字段=表2.字段
链表分组查询:
SELECT 别名.*,表2名.dname from(SELECT 字段o,count(字段),sum(字段)
from 表1 GROUP BY 字段) 别名
INNER JOIN 表2名 on 别名.字段=表名.字段
SELECT d.dname,d.deptno,count(e.empno),sum(e.sal) FROM emp e
INNER JOIN dept d ON e.deptno=d.deptno ;
分组查询:
group by 后的字段相同时为一组
SELECT 字段1,分组函数 FROM 表名 GROUP BY 字段1
select deptno,count(empno) ,sum(sal) from emp e
where deptno=d.deptno GROUP BY deptno
分组过滤:
SELECT 字段1,分组函数 FROM 表名 GROUP BY 字段1 having 条件 and/or 条件
select d.dname,d.deptno,count(e.empno) count_e,sum(e.sal) from emp e ,dept d
where e.deptno=d.deptno GROUP BY e.deptno HAVING count_e>3 and count_e <6;
select d.dname,d.deptno,count(e.empno) count_e,sum(e.sal) from emp e ,dept d
where e.deptno=d.deptno GROUP BY e.deptno HAVING count_e BETWEEN 3 and 6;
分页
关键字:mysql-limit
sqlserver-top
oracle-rownum
SELECT * from emp LIMIT 开始位置(从零开始),条数 ;