Oracle学习笔记之高级查询(二)

2015-11-10 12:17:21 · 作者: · 浏览: 11
.deptno = e.deptno WHERE d.dname ='SALES'


SQL92标准建议我们在夺标连接时使用内连接形式


这样会发现,连接条件单独定义在ON子句中,而过滤条件卸载WHERE子句中,可读性比较强


SELECT e.ename,d.dname FROM emp e JOIN dept d ON e.deptno=d.deptno WHERE d.dname='SALES';


外连接


自连接


当前表中的数据关联 表中的其他数据。就构成了自连接。通常表被设计成自连接是为了表示同类型数据有存在上下级关系(树状结构的数据通常设计为自连接。)


例如:淘宝网的类别。就被设计为自连接。


设计表的时候以及关联关系时通常有两个字段很重要,他们被称为:主键外键


通常每张表的第一个字段就是主键,主键保存的数据一般与数据无关系,他只是用来标识每条数据的唯一性,所以主键的要求是


存储的值非空且唯一。


外键,用来保存关系表中记录的主键的值,例如


部门表中有一个字段叫做dept,它用来保存dept表中某条记录主键的值那么emp表的dept就是外键


在关联关系中,保存外键的表通常是“一对多”中“多”的一方