selfid 编号
name 姓名
belong 上级编号(0为顶级)
例如数据有
selfid name belogn
001 张一 0
002 张二 001
003 张三 002
004 张四 001
如何查找,下面的一个人! 提供姓名后,找出这个人 但必须这个人是他的下级
就是一个树型的结构数据,如何才能找到某个人.
万分感谢! 最好给我提供一下 asp写的代码.
CREATE TABLE tb(selfid VARCHAR(10),name VARCHAR(10),belogn VARCHAR(10))
INSERT tb SELECT '001', '张一', '0'
UNION ALL SELECT '002' , '张二' , '001'
UNION ALL SELECT '003' , '张三' , '002'
UNION ALL SELECT '004' , '张四' , '001'
GO
CREATE PROC getSon
(@name VARCHAR(10)/* --要查找的姓名*/)
AS
BEGIN
SELECT *,lvl=0 INTO # FROM tb WHERE 1=0
DECLARE @pName VARCHAR(10),@lvl INT,@sel VARCHAR(10),@be VARCHAR(10)
SET @lvl=0
myLoop:
BEGIN
SET @pName=@name
SELECT TOP 1 @lvl=@lvl+1,@name=a.name,@sel=a.selfid,@be=a.belogn FROM tb b
LEFT JOIN tb a
ON a.belogn=b.selfid
WHERE b.name=@pName
END
IF @name IS NOT NULL
BEGIN
INSERT # SELECT @sel,@name,@be,@lvl
GOTO myLoop
END
SELECT * FROM #
DROP TABLE #
END
GO
EXEC getSon '张一'
/*
002 张二 001 1
003 张三 002 2
*/
DROP TABLE tb
DROP PROC getSon
GO
现在你有一棵树,共有n(n≤10000)n(n≤10000)n(n \le 10000)个结点,由111至nnn依次编号:有n−ln−ln-l条边,每条边有一个权值,由111至n—ln—ln—l依次编号。现在你要完成一些指令,这些指令包括: (1)C&...
昨天参加一场面试,面试题是关于树形结构查询的相关内容,之前在实际工作中没有遇到此类问题,就从网上看了一下相关的内容,总结一下: 一般情况下我们对递归查询是这样的: select last_name,employee_id,manager...
数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4...
B树,英文是B-tree,是一种平衡多路树,这个不叫B减树,就是B树。 B树是一种多路树。因为他的子节点不止2个,可以是多个。 B树是一种平衡树。所谓平衡树,指的是他的左右两个子树的高度差小于等于1,而且左右子树...
其中有一个是对数据的校验,而这些数据在数据库里是以树的形式存在!没有问别人之前我是打算以循环的方式来做,周日花了整整一下午把数据表研究了一番发现不是我想象的那么简单,我先把这个要求简单的描述一下: ...
对于这种问题,我们首先可能会想到用集合维护一个单调性然后加一个二分查找,这样做没问题,但是用STL会太慢,用手写的话暂时还不会。 那么如何在没有单调性的时候查找呢,或者说我就是要用线段树呢? 首先有一个...
3.1 查询报文 3.1.1 Flags 3.1.2 Queries 3.2 应答报文 3.2.1 Flags 3.2.2 Answers 3.2.3 Authoritative nameservers 3.2.4 Additional records 4.域名的解析过程 4.1 递归查询 4.2 迭代...
1.环境要求 jdk1.8,略懂lambda表达式的使用,熟悉使用 mybatisPlus框架 2.后台
超级详细的查询树优化!数据库笔记GET!!! 主要内容数据库 代数优化 查询树优化 等价变换规则和启发式规则
首先在文章的开头声明一下哈,本文只是介绍一种Java蛮力键树的实现,并没有什么高深的数据结构,所以数据量不超过百万字符的可以参考,数据量太大的另请高明吧。另外,后面的键树代码实际上不仅适用于中文存储和查找...
Oracle树结构查询
在 oracle 数据库中,通过 start with connect by prior 递归可以直接查出树结构,但是在 mysql 当中如何解决树查询问题呢? 思路: 我们可以通过自定义函数,遍历找出某一节点的所有子节点 (或者某一节点的所有父...
1.首先新建数据库表格 use testA; create table userC( id int primary key, name varchar(50), age int ) go ...insert into userC values(10001,'张三',20);...insert into userC values(10002,'李四',25);...
mysql树形结构查询
一 概述 又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存...(1)根节点不包含字符,除根节点外每一个节点都只包含一个字符; (2)从根节点到某一节点,路径上经...
诶,算法这个东西,其实没那么简单,但是也没那么难。 红黑树,其实已经有很多大佬都整理过了,...【算法】红黑树(二叉树)概念与查询(一):https://blog.csdn.net/lsr40/article/details/85230703 【算法】...
先查询第一层的数据,然后调用递归循环第一层的数据,查询父Id等于第一层的Id,执行完成后第一层一下的所有数据就全部查询出来了。。。 场景描述 :每个应用(最顶层,树的根) 下面是多级菜单 每个菜单下是多个...
文章目录集合容器概述什么是集合集合的特点集合和数组的区别使用集合框架的好处常用的集合类有哪些?List,Set,Map三者的区别?List、Set、Map 是否继承自 Collection ...怎么确保一个集合不能被修改?Collection...
在设计一个树形结构的实体中用到了多对一,一对多的映射关系,在加载其关联对象的时候,为了性能考虑,很自然的想到了懒加载。 也因此遇到了N+1的典型问题 :通常1的这方,通过1条SQL查找得到1个对象,而JPA基于...
求问大神们octomap中的octokey是怎么生成的,能不能举个例子。...求大神告知一下点云是怎么存储成八叉树结构的,点云存储的是点的坐标,八叉树是存储的很多体素,不太明白一个点的坐标怎么对应出一个体素
依托于该语法,我们可以将一个表形结构的中以树的顺序列出来。在下面列述了Oracle中树型查询的常用查询方式以及经常使用的与树查询相关的Oracle特性函数等,在这里只涉及到一张表中的树查询方式而不涉及多表中的关联...
面试问题之编程语言 1。C++的特点是什么? 封装,继承,多态。支持面向对象和面向过程的开发。 2.C++的异常处理机制? 抛出异常和捕捉异常进行处理。(实际开发) 3.c和c++,java的区别? c是纯过程,c++是对象...
实例:现在有一个要存储一下公司的人员结构,大致层次结构如下: 那么怎么存储这个结构?并且要获取以下信息: 1.查询小天的直接上司。 2.查询老宋管理下的直属员工。 3.查询小天的所有上司。 4.查询老王管理...
最近开发中遇到了很多树形结构数据的需要,利用mybatis提供嵌套查询功能,基本上可以完美解决,但是对于其中的原理并不理解,导致在使用的时候像瞎猫碰死耗子一样,照着先前成功的例子copy,后来遇到了莫名奇怪的...
有一个需求是查询一个树结构表的一个节点的所有子节点。(sqlserver) 表名 sys_kjfl 字段 bmid(子节点) parentID(父节点) 常规的查询所有后代节点的方法,都是使用递归 如这个链接: link. 于是我也使用这个 ,写...
原先数据库没有好好学习,感觉一直是似懂非懂的状态,很多原理也不懂,今天抽时间查阅一些资料自己也总结了...关系数据库管理系统查询处理可分为四个阶段:查询分析、查询检查、查询优化和查询执行。 查询分析:对查
本脚本来自一个叫候鸟树(笔者在互联网行业入行前的引路人)的网友,原作者不详,这里保留原作者名为了表示对技术人的尊重。 命令格式: ./show-busiest-java-threads -p 进程号 -c 显示条...
关于Oracle 递归查询和树形表详细的实验和讲解。
一、前言 这个问题是博主去年面试的时候被大佬问过的问题,当时也不大清楚里面的原理,硬着头皮回答的,当然,最终面试也没过,哈哈。...首先,既然问题是一次查询,那...
今天在做一个项目模块的时候遇到了点问题,数据库设计是单表自身关联,就是增加一个字段保存父级ID实现树状数据结构,开始设计的时候没有考虑要怎么查询,今天做到着一步卡住了,不晓得怎么写SQL语句,当时还在想...