程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL語句實現子孫樹查詢經典實例

SQL語句實現子孫樹查詢經典實例

編輯:關於SqlServer

     下面介紹的SQL語句非常經典,該SQL語句實現子孫樹查詢,該SQL語句可以直接在查詢分析器中執行,供您參考。

    1. --生成表  
    2. create table MENU(id int,mname char(50),parent int)  
    3.  
    4. --插入數據  
    5. insert into MENU   
    6. select 1,'新聞',Null union all  
    7. select 2,'房產',Null union all  
    8. select 3,'科技新聞',1 union all  
    9. select 4,'社會新聞',1 union all  
    10. select 5, 'IT新聞',3 union all  
    11. select 6, '航天新聞',3   
    12.  
    13. --實現查詢新聞子孫樹  
    14. Declare @s varchar(1000)   
    15. select @s=','+cast(id as varchar(20))+'' from MENU where id=1 
    16.  
    17. while  @@rowCount>0   
    18.  
    19. --charindex:返回字符串中指定表達式的起始位置  
    20.   select   @s=@s+','+cast(id as varchar) from MENU       
    21.             where charindex(','+cast(id as varchar)+',',@s+',')=0    
    22.    
    23.             and   charindex(','+cast(parent as varchar)+',',@s+',')>0   
    24.  
    25.  
    26. select * from MENU where charindex(','+cast(id as varchar)+',',@s+',')>0  
    27.  
    28. --刪除表  
    29.  
    30. drop table MENU
    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved