关于自连接

xiaoxiao2021-02-28  41

什么时候用自连接?

假如现在有两张表,A表和B表 如果需要查询两张表有相同的数据的时候用等值连接。 如果要查询A表中相关信息,可以用自连接。 如果要查询A表中的所有数据,但又想找到B表中的系统数据的时候,可以用外连接。

select a.ename ,a.empno ,b.ename ,b.empno from emp a,emp b where a.mgr = b.empno;

外连接 1:一般在某些分类编码中使用,假如你有一张员工信息表,其中的职位信息是个代码,而这个代码对应的含有在职位表中描述 2:信息分类存储,假如上述的员工信息表,其对应的每个月的工资情况在另一张表中,这个时候需要外连接进行表关联

外连接的关联字段一般在数据类型和名称上相同或相似,你可以这样写,from a left join b on a.id=b.id

自连接 自连接比较特殊,一般反映记录的上下级关系,例如员工线性表中会有一个字段,上级领导,这个字段对应的上级其实也是一个员工,这个员工信息就是通过自连接进行查找的。

自连接一般要求在表中有一个特殊的字段,连接的时候要注意,例如 from a tab1 join a tab2 on tab1.up_id=tab2.id

例如表test为需要做自联结的表

select a.id,b.id,b.pid,b.name from test a,test b where a.id=b.pid (关联字段)

a表的id 和b表的pid要存在某种关系

转载请注明原文地址: https://www.6miu.com/read-2627446.html

最新回复(0)