mysql父子级结构查询

更新时间:01-27 教程 由 凉堇年♀ 分享

MySQL数据库可以支持存储一张具有父子级关系的表格,例如分类目录或者是组织结构。在父子级结构中,每个条目都可以有零或多个子项,同时每个元素都只能关联到一个父项。这篇文章将介绍如何使用MySQL查询父子级结构。

CREATE TABLE category (id INT(11) NOT NULL AUTO_INCREMENT,name VARCHAR(255) NOT NULL,parent_id INT(11) DEFAULT NULL,PRIMARY KEY (id),FOREIGN KEY (parent_id) REFERENCES category (id)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

在上述代码中,我们创建了一张名为“category”的表格,里面包含了“id”、“name”和“parent_id”这三个字段。其中,“id”自增不为空、 “name”不能为空, “parent_id”则为可空的外键(关联到同一表格的“id”字段)。

SELECTT1.id,T1.name,T2.name AS parent_nameFROM category AS T1LEFT JOIN category AS T2 ON T1.parent_id = T2.idORDER BY T1.id ASC;

上述SQL查询语句可以将一张包含父子级关系的表格显示出来,其中返回T1表格中的每一个“id”、“name”和T2中的“name”(即父元素的名字,如果没有则为空)。左连接操作符“LEFT JOIN”会寻找T1表格中每一项的父元素在T2表格中对应的项目,并运用排序功能“ORDER BY”对结果进行排序。

声明:关于《mysql父子级结构查询》以上内容仅供参考,若您的权利被侵害,请联系13825271@qq.com
本文网址:http://www.25820.com/tutorial/14_2083014.html