题目链接:点击打开链接
题目大意:略。
解题思路:略。
AC 代码
--解决方案(1) SELECTid, 'Root'ASTypeFROMtreeWHEREp_idISNULLUNIONSELECTid, 'Leaf'ASTypeFROMtreeWHEREidNOTIN (SELECTDISTINCTp_idFROMtreeWHEREp_idISNOTNULL) ANDp_idISNOTNULLUNIONSELECTid, 'Inner'ASTypeFROMtreeWHEREidIN (SELECTDISTINCTp_idFROMtreeWHEREp_idISNOTNULL) ANDp_idISNOTNULLORDERBYid; --解决方案(2) SELECTidAS`Id`, CASEWHENtree.id= (SELECTatree.idFROMtreeatreeWHEREatree.p_idISNULL) THEN'Root'WHENtree.idIN (SELECTatree.p_idFROMtreeatree) THEN'Inner'ELSE'Leaf'ENDASTypeFROMtreeORDERBY`Id`; --解决方案(3) SELECTatree.id, IF(ISNULL(atree.p_id), 'Root', IF(atree.idIN (SELECTp_idFROMtree), 'Inner','Leaf')) TypeFROMtreeatreeORDERBYatree.id; --解决方案(4) SELECTDISTINCTt1.id, IF(t1.p_idISNULL, "Root", IF(t2.idISNOTNULL, "Inner", "Leaf")) TypeFROMtreet1LEFTJOINtreet2ONt1.id=t2.p_id;