内连接:
假设a和b进行连接,使用内连接的话,凡是a表和b表能够匹配上的记录查询处理,这假设内连接。
外连接:
a,b使用外连接的话,ab两张表中有一张是主表,一张是副表,主要查询主表中的数据,捎带查询附表,当附表中的数据没有和主表中的数据匹配上,副表自动模拟出null与之匹配
外连接使用居多!
连接查询:
三张以上的表连接查询:
select e.ename,d.dname,s.grade from emp e join dept d on e.deptno = d.deptno join salgrade s on e.sal between s.losal and s.hisal;
select e.ename '员工',d.dname,s.grade,e1.ename '领导' from emp e join dept d on e.deptno = d.deptno join salgrade s on e.sal between s.losal and s.hisal left join emp e1 on e.mgr = e1.empno;
子查询:
select语句中嵌套select语句,被嵌套的select称为子查询
select (select) from(select) where(select)
from 后面嵌套子查询:
select t.deptno,avg(grade) from (select e.ename,s.grade,e.sal,e.deptno from emp e join salgrade s on e.sal between s.losal and s.hisal) as t group by deptno;
也可以直接分组。。。