2018-10-24
阅读量:
1098
MySQL自连接
MySQL自连接就是在同一张表上自己连接自己,参与连接的表都是同一张表,通过给表取别名虚拟出两张表。
当我们想将表中行与同一表中的其他行组合时,可以使用自连接。要执行自连接操作必须使用表别名来帮助MySQL在单个查询中区分左表与同一张表的右表。
为了更好的理解,假想以下场景:某一电商网站想要对站内产品做层级分类,一个类别下面有若干子类,子类下面也会有别的子类。例如数码产品这个类别下面有笔记本,台式机,智能手机等;笔记本,台式机,智能手机又可以按照品牌分类;品牌又可以按照价格分类,等等。也许这些分类会达到一个很深的层次,呈现一种树状的结构。那么这些数据要怎么在数据库中表示呢?
我们可以在数据库中创建两个字段来存储id和类别名称,使用第三个字段存储类别的子类或者父类的id,最后通过自连接去查询想要的结果。

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

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







评论(0)


暂无数据
推荐帖子
0条评论
0条评论
0条评论