您的位置:首页 > 数据库 > Oracle

Oracle中使用connect by 来实现树状查询

2008-04-07 11:35 501 查看
Oracle中使用connect by 来实现树状查询,其中可以使用level这个伪列来实现分层查询。
[align=left]SELECT lpad(' ', (level - 1) * 4, ' ') || NAME AS NAME,
ID [/align]
[align=left]FROM TB
CONNECT BY PRIOR ID = PID[/align]
[align=left] START WITH DEPT = '根的ID'[/align]
[align=left] [/align]
Lpad函数的用法
lpad函数将左边的字符串填充一些特定的字符其语法格式如下:
lpad( string1, padded_length, [ pad_string ] )
string:1是需要粘贴字符的字符串
padded_length:是返回的字符串的数量,如果这个数量比原字符串的长度要短,lpad函数将会把字符串截取成padded_length;
pad_string是个可选参数,这个字符串是要粘贴到string1的左边,如果这个参数未写,lpad函数将会在string1的左边粘贴空格。
例如:
lpad('tech', 7);
将返回' tech'
lpad('tech', 2);
将返回'te'
lpad('tech', 8, '0');
将返回'0000tech'
lpad('tech on the net', 15, 'z');
将返回 'tech on the net'
lpad('tech on the net', 16, 'z');
将返回 'ztech on the net'
Level伪列显示是第几级菜单
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐