nosql树形结构,sql 树结构
建立一个树形结构的SQL表 3实现的功能
主要是要有ID,PID两个字段,下面是我用的一个表,仅供参考:
公司主营业务:成都网站设计、网站制作、外贸营销网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出安徽免费做网站回馈大家。
CREATE TABLE [dbo].[Sys_Menu](
[ID] [int] NOT NULL,
[Code] [varchar](50) NOT NULL,
[PID] [int] NOT NULL,
[Name] [nvarchar](50) NULL,
[Url] [varchar](100) NULL,
[STATE] [bit] NOT NULL,
[IsSelected] [bit] NULL
) ON [PRIMARY]
GO
简述什么是nosql数据库,并列举两种常见的nosql数据库名称及其特点
NoSQL太火,冒出太多产品了,保守估计也成百上千了。
互联网公司常用的基本集中在以下几种,每种只举一个比较常见或者应用比较成功的例子吧。
1. In-Memory KV Store : Redis
in memory key-value store,同时提供了更加丰富的数据结构和运算的能力,成功用法是替代memcached,通过checkpoint和commit log提供了快速的宕机恢复,同时支持replication提供读可扩展和高可用。
2. Disk-Based KV Store: Leveldb
真正基于磁盘的key-value storage, 模型单一简单,数据量不受限于内存大小,数据落盘高可靠,Google的几位大神出品的精品,LSM模型天然写优化,顺序写盘的方式对于新硬件ssd再适合不过了,不足是仅提供了一个库,需要自己封装server端。
3. Document Store: Mongodb
分布式nosql,具备了区别mysql的最大亮点:可扩展性。mongodb 最新引人的莫过于提供了sql接口,是目前nosql里最像mysql的,只是没有ACID的特性,发展很快,支持了索引等特性,上手容易,对于数据量远超内存限制的场景来说,还需要慎重。
4. Column Table Store: HBase
这个富二代似乎不用赘述了,最大的优势是开源,对于普通的scan和基于行的get等基本查询,性能完全不是问题,只是只提供裸的api,易用性上是短板,可扩展性方面是最强的,其次坐上了Hadoop的快车,社区发展很快,各种基于其上的开源产品不少,来解决诸如join、聚集运算等复杂查询。
SQL里树状结构的表,找树叶节点。
找树叶简单啊
SELECT
*
FROM
表 main
WHERE
NOT EXISTS (
SELECT * FROM 表 sub WHERE main.ID = sub.ParentID
)
也就是对于 表的 每一行, 不存在有其他行的数据, ParentID 等于 当前行的 ID
求一条sql语句,树形结构
with a as (
select pk_comp,name,pk_fathercomp from company
union
SELECT pk_dept,deptname,(CASE WHEN pk_fathedept=0 THEN pk_comp ELSE pk_fathedept END) as pk_comp FROM dept)
select a.name,b.name from a as b
inner join a on a.pk_comp=b.pk_fathercomp
sql里树形结构分组排序
create table T1(this varchar(10), parent varchar(10))
insert into T1(this,parent)
values ('id1',null)
,('id2',null)
,('id3','id1')
,('id4','id2')
,('id5','id3')
,('id6','id3')
,('id7','id4')
,('id8','id7')
-- sql server的cte功能
with tree(this,parent,root,depth) as (
select this,parent, this as root, 1 as depth from T1 where parent is null
union all
select a.this,a.parent, b.root, b.depth+1 as depth from T1 a, tree b where a.parent=b.this
)
select this,parent,root,depth
from tree
order by root,depth,this
分享文章:nosql树形结构,sql 树结构
网站地址:http://myzitong.com/article/dscghgg.html