kejiayuan0806

2018-10-24   阅读量: 875

数据分析师 Mysql

MySQL自连接

扫码加入数据分析学习群

MySQL自连接就是在同一张表上自己连接自己,参与连接的表都是同一张表,通过给表取别名虚拟出两张表。

当我们想将表中行与同一表中的其他行组合时,可以使用自连接。要执行自连接操作必须使用表别名来帮助MySQL在单个查询中区分左表与同一张表的右表。

为了更好的理解,假想以下场景:某一电商网站想要对站内产品做层级分类,一个类别下面有若干子类,子类下面也会有别的子类。例如数码产品这个类别下面有笔记本,台式机,智能手机等;笔记本,台式机,智能手机又可以按照品牌分类;品牌又可以按照价格分类,等等。也许这些分类会达到一个很深的层次,呈现一种树状的结构。那么这些数据要怎么在数据库中表示呢?

我们可以在数据库中创建两个字段来存储id和类别名称,使用第三个字段存储类别的子类或者父类的id,最后通过自连接去查询想要的结果。

查询所有分类以及分类的父类:

查询所有分类以及分类的子类:

添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
0.0000 0 5 关注作者 收藏

评论(0)


暂无数据

推荐课程