自己的表和自己的表连接,核心:一张表拆为两张一样的表即可

    1. -- 自连接数据库:
    2. CREATE TABLE `school`.`category`( `categoryid` INT(3) NOT NULL COMMENT 'id', `pid` INT(3) NOT NULL COMMENT '父id 没有父则为1', `categoryname` VARCHAR(10) NOT NULL COMMENT '种类名字', PRIMARY KEY (`categoryid`) ) ENGINE=INNODB CHARSET=utf8 COLLATE=utf8_general_ci;
    3. INSERT INTO `school`.`category` (`categoryid`, `pid`, `categoryname`) VALUES ('2', '1', '信息技术');
    4. insert into `school`.`CATEGOrY` (`categoryid`, `pid`, `categoryname`) values ('3', '1', '软件开发');
    5. insert into `school`.`category` (`categoryid`, `PId`, `categoryname`) values ('5', '1', '美术设计');
    6. insert iNTO `School`.`category` (`categoryid`, `pid`, `categorynamE`) VAlUES ('4', '3', '数据库');
    7. insert into `school`.`category` (`CATEgoryid`, `pid`, `categoryname`) values ('8', '2', '办公信息');
    8. insert into `school`.`category` (`categoryid`, `pid`, `CAtegoryname`) values ('6', '3', 'web开发');
    9. inserT INTO `SCHool`.`category` (`categoryid`, `pid`, `categoryname`) valueS ('7', '5', 'ps技术');
    10. -- 查询父子信息
    11. SELECT a.`categoryname` AS '父栏目',b.`categoryname` AS '子栏目'
    12. FROM `category` AS a,`category` AS b
    13. WHERE a.`categoryid` = b.`categoryid`

    父类

    categoryid categoryname
    2 信息技术
    3 软件开发
    5 美术设计

    子类

    pid categoryid categoryname
    3 4 数据库
    2 8 办公信息
    3 6 web开发
    5 7 美术设计

    image.png

    父类 子类
    信息技术 办公信息
    软件开发 数据库
    软件开发 web开发
    美术设计 ps技术