美文网首页
MySQL 表示 子-父-祖父关系

MySQL 表示 子-父-祖父关系

作者: 只是甲 | 来源:发表于2021-02-25 13:48 被阅读0次

备注:测试数据库版本为MySQL 8.0

如需要scott用户下建表及录入数据语句,可参考:
scott建表及录入数据sql脚本

一.需求

员工CLARK为KING工作,假设员工CLARK又是另一个员工的经理,怎么办?

select ename,empno,mgr
from emp
where ename in ('KING','CLARK','MILLER');
+--------+-------+------+
| ename | empno | mgr |
+--------+-------+------+
| CLARK | 7782 | 7839 |
| KING | 7839 | NULL |
| MILLER | 7934 | 7782 |
+--------+-------+------+

可以看到,员工MILLER为CLARK工作,而CLARK又为KING工作。
现在需要表示从 MILLER到KING的完整层次。

返回下列结果集:
+-----------------------+
| leaf_branch_root |
+-----------------------+
| MILLER-->CLARK-->KING |
+-----------------------+

二.解决方案

对表EMP进行两次自联接,返回MILLER、MILLER的经理CLARK、CLARK的经理KING.

select  concat(a.ename,'-->',b.ename,'-->',c.ename) as leaf_branch_root
  from  emp a, emp b, emp c
 where  a.ename = 'MILLER'
   and  a.mgr = b.empno
   and  b.mgr = c.empno;

测试记录:

mysql> select  concat(a.ename,'-->',b.ename,'-->',c.ename) as leaf_branch_root
    ->   from  emp a, emp b, emp c
    ->  where  a.ename = 'MILLER'
    ->    and  a.mgr = b.empno
    ->    and  b.mgr = c.empno;
+-----------------------+
| leaf_branch_root      |
+-----------------------+
| MILLER-->CLARK-->KING |
+-----------------------+
1 row in set (0.00 sec)

相关文章

  • MySQL 表示 子-父-祖父关系

    备注:测试数据库版本为MySQL 8.0 如需要scott用户下建表及录入数据语句,可参考:scott建表及录入数...

  • MySQL 表示 父-子关系

    备注:测试数据库版本为MySQL 8.0 如需要scott用户下建表及录入数据语句,可参考:scott建表及录入数...

  • 前端学习Day9

    常用选择器(二) 元素之间关系概述: 1.父元素:直接包含子元素的元素2.子元素:直接被父元素包含的元素3.祖父元...

  • 父子

    高曾祖,父而身.身而子,子而孙. 由高祖父生曾祖父,曾祖父生祖父,祖父生父亲,父亲生我本身,我本身生儿子,儿子再生...

  • 《三字经》伦理篇

    1.高曾祖,父而身,身而子,子而孙。 译文:由高祖父生曾祖父,曾祖父生祖父,祖父生父亲,父亲生我本身,我生儿子,儿...

  • 父亲节里说说父亲的父亲

    父亲的父亲才该是祖父,而我的父亲和祖父确是叔侄关系,父亲幼年丧父,祖父领养,虽也是子女众多的清贫之家,祖父对父却视...

  • 《三字经》12. 高曾祖,父而身

    高曾祖,父而身,身而子,子而孙。自子孙,至元曾,乃九族,人之伦。 白话:高祖父、曾祖父、祖父、父亲到自己,由自己往...

  • uml类图关系简析

    泛化 【定义】是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为,或者子接口与父接口的...

  • 自动布局之AutoResizing

    上侧实线:表示【子控件】距离【父控件】上侧间距固定;下侧实线:表示【子控件】距离【父控件】下侧间距固定;左侧实线:...

  • 设计模式实践之类之间的六种关系

    类之间的六种关系 1、继承(Generalization) 继承关系,表示了子类和父类之间的关系 箭头:子类指向父...

网友评论

      本文标题:MySQL 表示 子-父-祖父关系

      本文链接:https://www.haomeiwen.com/subject/xzmamktx.html