多表连接(就是把多个表变成一个表再去操作)
内连接(inner join...on)
select...
from 表1 inner join 表2 on 连接条件
where...
...
连接过程:链接过程:拿表1的每一条数据与表2的每一条数据根据链接条件去匹配,
如果匹配到记录,则把这条匹配的数据放到新的结果集中.
如果匹配不到记录,不放入结果集中,并且进行下一条的匹配.
等价于:
select ....
from 表1,表2
where 连接条件
eg:求员工的薪资等级
非等值条件
select e.ENAME,s.GRADE from EMP e,SALGRADE s where e.SAL between s.LOSAL and s.HISAL;
左|右外连接(主表的区别)
语法:select * from 表1 left join 表2 on 连接条件
语法:select * from 表1 right join 表2 on 连接条件
连接过程:拿着主表(左外连接就是左边表,右外连接就是右边表)
每一条记录与从表的每一条记录按连接条件匹配,
如果匹配到记录则把记录组合放到结果集中,
如果朱彪的记录在从表中没有匹配到记录,则主表的记录,
也会放入结果集中并且从表的记录的列的值是null.
1 --外链接 2 --左外链接 3 SELECT * FROM EMP E LEFT JOIN DEPT D ON E.DEPTNO=D.DEPTNO; 4 --右外连接 5 SELECT * FROM DEPT D RIGHT JOIN EMP E ON E.EMPNO=D.DEPTNO;