自连接查询

文章目录

有些时候需要用到自连接查询比如:查询员工及其领导的信息

使用场景

查找父子关系:如员工和他们的领导、产品分类和子分类等。
查找层级结构:如组织结构中的上下级关系。树形表,权限管理的菜单。
比较同一张表中不同记录之间的某种关联关系。

实际应用

假设你想查询每个员工及其领导的姓名,你可以使用自连接(SELF JOIN),通过 LEADER 字段来匹配领导的 EMPLOYEEID。

SELECT e1.EMPLOYEEID AS EMPLOYEE_ID, 
       e1.NAME AS EMPLOYEE_NAME, 
       e2.EMPLOYEEID AS LEADER_ID, 
       e2.NAME AS LEADER_NAME
FROM T_EMPLOYEE e1
LEFT JOIN T_EMPLOYEE e2 ON e1.LEADER = e2.EMPLOYEEID;

e1和e2都是t_emplpyee这一张表。

查询某个领导及其下属的信息

SELECT e1.EMPLOYEEID AS EMPLOYEE_ID, 
       e1.NAME AS EMPLOYEE_NAME, 
       e1.JOBLEVEL AS EMPLOYEE_JOBLEVEL,
       e2.EMPLOYEEID AS LEADER_ID, 
       e2.NAME AS LEADER_NAME
FROM T_EMPLOYEE e1
JOIN T_EMPLOYEE e2 ON e1.LEADER = e2.EMPLOYEEID
WHERE e2.NAME = 'Leader_Name';

猜你喜欢

转载自blog.csdn.net/ngczx/article/details/143171096