表的连接操作:
对于数据表的连接操作在数据库之中一共定义了两种:
内连接:也称为等值连接,是最早的一种连接。还可以被称为普通连接或者自然连接,内连接是从结果表中删除与其他被连接表中没有匹配行的所有行,所以内连接可能会丢失信息。WHERE子句中设置的消除笛卡尔积的条件就是使用了等值判断的方式进行的;
外链接:内连接中只能够显示等值满足条件的,如果不满住条件的无法显示,如果希望可以显示特定表的全部数据,就用外链接:外连接分为三种:左外连接,右外连接,全外连接。
先扩充一下数据:在emp表中增加一条没有部门的雇员信息。
INSERT INTOemp(empno,ename,job,hiredate,sal,comm,deptno)
VALUES (8888,'KING',7369,SYSDATE,800,100,NULL);
查询部门编号:
SELECT *
FROM emp e, dept d
WHERE e.deptno = d.deptno;
问题1.没有部门的雇员没有显示;
问题2.有一个40部门没有显示;
想要显示emp或dept中的表的数据显示完整,就可以使用外部链接:
左外链接:左关系属性=右关系属性(+),放在等号的右边表示左连接;意思就是显示左边表中没有显示的信息;
右外链接:左关系属性(+)=右关系属性,放在等号的左边表示右连接;意思就是显示右边表中没有显示的信息;