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