?? 1、專欄介紹
「SQL面試題庫」是由 不是西紅柿 發(fā)起,全員免費(fèi)參與的SQL學(xué)習(xí)活動(dòng)。我每天發(fā)布1道SQL面試真題,從簡(jiǎn)單到困難,涵蓋所有SQL知識(shí)點(diǎn),我敢保證只要做完這100道題,不僅能輕松搞定面試,代碼能力和工作效率也會(huì)有明顯提升。
1.1 活動(dòng)流程
- 整理題目:西紅柿每天無論刮風(fēng)下雨,保證在8am 前,更新一道新鮮SQL面試真題。
- 粉絲打卡:粉絲們可在評(píng)論區(qū)寫上解題思路,或者直接完成SQL代碼,有困難的小伙伴不要著急,先看別人是怎么解題的,邊看邊學(xué),不懂就問我。
- 交流討論:為了方便交流討論,可進(jìn)入 數(shù)據(jù)倉庫 。
- 活動(dòng)獎(jiǎng)勵(lì):我每天都會(huì)看評(píng)論區(qū)和群里的內(nèi)容,對(duì)于積極學(xué)習(xí)和熱心解答問題的小伙伴,紅包鼓勵(lì),以營造更好的學(xué)習(xí)氛圍。
1.2 你的收獲
-
增強(qiáng)自信,搞定面試:在求職中,SQL是經(jīng)常遇到的技能點(diǎn),而這些題目也多數(shù)是真實(shí)的面試題,刷題可以讓我們更好地備戰(zhàn)面試,增強(qiáng)自信,提升自己的核心競(jìng)爭(zhēng)力。
-
鞏固SQL語法,高效搞定工作:通過不斷練習(xí),能夠熟悉SQL的語法和常用函數(shù),掌握SQL核心知識(shí)點(diǎn),提高SQL編寫能力。代碼能力提升了,工作效率自然高了。
-
提高數(shù)據(jù)處理能力、鍛煉思維能力:SQL是數(shù)據(jù)處理的核心工具,通過刷題可以讓我們更好地理解數(shù)據(jù)處理的過程,提高數(shù)據(jù)分析的效率。SQL題目的難度不一,需要在一定時(shí)間內(nèi)解決問題,培養(yǎng)了我們對(duì)問題的思考能力、解決問題的能力和對(duì)時(shí)間的把控能力等。
?? 2、今日真題
題目介紹: 樹節(jié)點(diǎn) tree-node
難度中等
SQL架構(gòu)
給定一個(gè)表
tree
,
id 是樹節(jié)點(diǎn)的編號(hào),
p_id 是它父節(jié)點(diǎn)的
id 。
+----+------+
| id | p_id |
+----+------+
| 1 | null |
| 2 | 1 |
| 3 | 1 |
| 4 | 2 |
| 5 | 2 |
+----+------+
樹中每個(gè)節(jié)點(diǎn)屬于以下三種類型之一:
- 葉子:如果這個(gè)節(jié)點(diǎn)沒有任何孩子節(jié)點(diǎn)。
- 根:如果這個(gè)節(jié)點(diǎn)是整棵樹的根,即沒有父節(jié)點(diǎn)。
- 內(nèi)部節(jié)點(diǎn):如果這個(gè)節(jié)點(diǎn)既不是葉子節(jié)點(diǎn)也不是根節(jié)點(diǎn)。
寫一個(gè)查詢語句,輸出所有節(jié)點(diǎn)的編號(hào)和節(jié)點(diǎn)的類型,并將結(jié)果按照節(jié)點(diǎn)編號(hào)排序。上面樣例的結(jié)果為:
+----+------+
| id | Type |
+----+------+
| 1 | Root |
| 2 | Inner|
| 3 | Leaf |
| 4 | Leaf |
| 5 | Leaf |
+----+------+
解釋
-
節(jié)點(diǎn) '1' 是根節(jié)點(diǎn),因?yàn)樗母腹?jié)點(diǎn)是 NULL ,同時(shí)它有孩子節(jié)點(diǎn) '2' 和 '3' 。
-
節(jié)點(diǎn) '2' 是內(nèi)部節(jié)點(diǎn),因?yàn)樗懈腹?jié)點(diǎn) '1' ,也有孩子節(jié)點(diǎn) '4' 和 '5' 。
-
節(jié)點(diǎn) '3', '4' 和 '5' 都是葉子節(jié)點(diǎn),因?yàn)樗鼈兌加懈腹?jié)點(diǎn)同時(shí)沒有孩子節(jié)點(diǎn)。
-
樣例中樹的形態(tài)如下:
? 1 ? / \ ? 2 3 ? / \ ? 4 5
注意
如果樹中只有一個(gè)節(jié)點(diǎn),你只需要輸出它的根屬性。
```sql select id, (case when p_id is null then "Root" when id not in (select ifnull(p_id,0) from tree) then "Leaf" else "Inner" end) Type from tree文章來源:http://www.zghlxwxcb.cn/news/detail-413201.html
```文章來源地址http://www.zghlxwxcb.cn/news/detail-413201.html
- 已經(jīng)有靈感了?在評(píng)論區(qū)寫下你的思路吧!
到了這里,關(guān)于「SQL面試題庫」 No_36 樹節(jié)點(diǎn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!