当前位置: 首页 > news >正文

无锡网站建设企业排名seo优化排名服务

无锡网站建设企业排名,seo优化排名服务,福建咨询网站建设商家,web网站开发基础jar目录 一、前言 二、GuassDB数据库层次递归查询概念 三、GaussDB数据库层次递归查询实验示例 1、创建实验表 2、sys_connect_by_path(col, separator) 3、connect_by_root(col) 4、WITH RECURSIVE 四、递归查询的优缺点 1、优点 2、缺点 五、总结 一、前言 层次递归…

目录

一、前言

二、GuassDB数据库层次递归查询概念

三、GaussDB数据库层次递归查询实验示例

1、创建实验表

2、sys_connect_by_path(col, separator)

3、connect_by_root(col)

4、WITH RECURSIVE

四、递归查询的优缺点

1、优点

2、缺点

五、总结

一、前言

层次递归查询是一种常见的SQL查询方式,特别是在一些层次化的数据存储结构中经常用到。本文主要以GaussDB数据库为实验平台,为大家讲解其使用方法。

二、GuassDB数据库层次递归查询概念

层次化结构可以理解为树状数据结构,由节点构成。举个简单的例子,如下图所示,由子节点向上查询根节点,或者由根节点遍历所有子节点:

递归查询是指查询中需要多次调用自身的查询方式。在递归查询中,查询会反复地递归进入到一个子查询中,直到查询得到满足条件的结果或遍历完整个查询范围。递归查询在数据库领域中有着重要的应用。方便数据处理,简化开发代码。

在GaussDB数据库中,递归查询可以通过使用 “select…start with…connect by…prior…” 和“WITH RECURSIVE”语法来实现。

三、GaussDB数据库层次递归查询实验示例

1、创建实验表

--创建实验表
CREATE TABLE area(a_code VARCHAR(10)
,a_name VARCHAR(10)
,p_a_code VARCHAR(10)
,a_level INT);--插入测试数据
INSERT INTO area VALUES('610000','陕西省','0','1');
INSERT INTO area VALUES('610100','西安市','610000','2');
INSERT INTO area VALUES('610101','市辖区','610100','3');
INSERT INTO area VALUES('610102','新城区','610100','3');
INSERT INTO area VALUES('610103','碑林区','610100','3');
INSERT INTO area VALUES('610104','莲湖区','610100','3');
INSERT INTO area VALUES('610111','灞桥区','610100','3');
INSERT INTO area VALUES('610112','未央区','610100','3');
INSERT INTO area VALUES('610113','雁塔区','610100','3');
INSERT INTO area VALUES('610114','阎良区','610100','3');
INSERT INTO area VALUES('610115','临潼区','610100','3');
INSERT INTO area VALUES('610116','长安区','610100','3');
INSERT INTO area VALUES('610122','蓝田县','610100','3');
INSERT INTO area VALUES('610124','周至县','610100','3');
INSERT INTO area VALUES('610125','鄠邑区','610100','3');
INSERT INTO area VALUES('610126','高陵区','610100','3');--查看初始化结果
SELECT * FROM area;

2、sys_connect_by_path(col, separator)

描述:返回从根节点到当前行的连接路径。

参数:col为在路径中显示的列名,支持类型为CHAR/VARCHAR/NVARCHAR2/TEXT的列,参数separator为路径节点之间的分隔符。

返回值类型:text

示例:

--返回从根节点到当前行的连接路径
SELECT  *, sys_connect_by_path(a_name, '-') FROM area start with a_code ='610000' connect by prior a_code = p_a_code;

3、connect_by_root(col)

描述:返回当前行的根节点值。

参数:col为输出列的名称。

返回值类型:即为所指定列col的数据类型。

示例:

--返回当前行的根节点值。
SELECT *, connect_by_root(a_name) FROM area start with a_code ='610000' connect by prior  a_code = p_a_code;

4、WITH RECURSIVE

使用WITH RECURSIVE 关键字:

--使用WITH RECURSIVE
WITH RECURSIVE t_area AS (
SELECT a_level,a_code,p_a_code,a_name, a_name ::varchar(50) AS path FROM area WHERE p_a_code = '0'
UNION ALL
SELECT t2.a_level+1,t1.a_code,t1.p_a_code, t1.a_name,CONCAT(t2.path, ',', t1.a_name) ::varchar(50) AS path FROM area t1 JOIN t_area t2 ON t1.p_a_code=t2.a_code
) SELECT * FROM t_area;

示例说明:这个查询使用了递归表达式来遍历省级行政区域关系。表达式使用了两个 SELECT 语句:第一个 SELECT 语句选取了所有父级代码为0的行政区域信息,并将它们添加到临时表 t_area 中。它们的层级选取初始化的a_level级,并且它们的路径被设置为它们的行政区名a_name。这个 SELECT 语句是递归查询的起点。第二个 SELECT 语句连接了 area表和t_area表。它选取了area表中所有具有父级行政区,并连接到t_area表中已经存在的行政区。对于每个连接的行,它们的层级是父级的层级加1,并且它们的路径是父级的路径加上逗号和它们自己的行政区。查询结果返回t_area表中所有的行政区信息。

(“::varchar(50)” 是创建实验表时的字符长度不够,需要重新定义,二是两个SELECT 语句使用 UNION ALL 连接,需要保持类型长度一致)。

四、递归查询的优缺点

1、优点

递归查询能够简化应用程序代码,方便对数据结构的处理。在一些复杂的查询场景中,递归查询能够更快地得到结果。适用于各种类型的树形结构。

2、缺点

递归查询有时可能会产生很多次递归调用,导致性能下降。算法通常比其他方法更复杂,编写比较困难。不适合处理大型数据集。

五、总结

递归查询是一种非常实用的查询方法,在处理分层数据、树形数据等复杂查询场景中非常广泛。但是,在使用递归查询时需要注意一些问题:

  • 必须合理控制递归深度,防止过度递归。
  • 最好不要在递归查询中执行复杂的计算和组合操作,避免占用过多资源。
  • 避免在递归查询中使用ORDER BY操作,这会大大降低性能。
  • 在使用递归查询时,应该谨慎处理好死循环问题。

同样的, 在使用GaussDB等数据库时,只要正确合理的应用递归查询,就可以更好地提高查询效率和应用性能。

——结束


文章转载自:
http://lares.rwzc.cn
http://mcg.rwzc.cn
http://tine.rwzc.cn
http://rooty.rwzc.cn
http://filipino.rwzc.cn
http://uglification.rwzc.cn
http://boatable.rwzc.cn
http://aquiculture.rwzc.cn
http://curtsey.rwzc.cn
http://undelighting.rwzc.cn
http://orthotropous.rwzc.cn
http://pintoricchio.rwzc.cn
http://machinize.rwzc.cn
http://spring.rwzc.cn
http://theocracy.rwzc.cn
http://itinerary.rwzc.cn
http://generalitat.rwzc.cn
http://remiges.rwzc.cn
http://chibouk.rwzc.cn
http://angwantibo.rwzc.cn
http://ninepenny.rwzc.cn
http://mum.rwzc.cn
http://sclerogenous.rwzc.cn
http://sisera.rwzc.cn
http://aniseikonic.rwzc.cn
http://piercingly.rwzc.cn
http://lutrine.rwzc.cn
http://thornveld.rwzc.cn
http://rumrunner.rwzc.cn
http://disenthrall.rwzc.cn
http://obtruncate.rwzc.cn
http://story.rwzc.cn
http://ileostomy.rwzc.cn
http://emotionalize.rwzc.cn
http://transaminase.rwzc.cn
http://mobilise.rwzc.cn
http://blasphemy.rwzc.cn
http://folie.rwzc.cn
http://sinking.rwzc.cn
http://piemonte.rwzc.cn
http://globose.rwzc.cn
http://thruway.rwzc.cn
http://aeg.rwzc.cn
http://extricable.rwzc.cn
http://planar.rwzc.cn
http://loanee.rwzc.cn
http://hawaii.rwzc.cn
http://canular.rwzc.cn
http://trimaran.rwzc.cn
http://consensus.rwzc.cn
http://spar.rwzc.cn
http://rld.rwzc.cn
http://garrya.rwzc.cn
http://notorious.rwzc.cn
http://ssa.rwzc.cn
http://estaminet.rwzc.cn
http://hyperoxide.rwzc.cn
http://freeheartedness.rwzc.cn
http://unformat.rwzc.cn
http://overplus.rwzc.cn
http://saloon.rwzc.cn
http://sweat.rwzc.cn
http://disbelief.rwzc.cn
http://cogon.rwzc.cn
http://ashimmer.rwzc.cn
http://valvar.rwzc.cn
http://sycee.rwzc.cn
http://natalia.rwzc.cn
http://horsy.rwzc.cn
http://nucleoid.rwzc.cn
http://chromizing.rwzc.cn
http://fratching.rwzc.cn
http://flandre.rwzc.cn
http://oxygenase.rwzc.cn
http://wellsite.rwzc.cn
http://sphenogram.rwzc.cn
http://evadable.rwzc.cn
http://unassuaged.rwzc.cn
http://hinduise.rwzc.cn
http://algebraic.rwzc.cn
http://uncompanionable.rwzc.cn
http://elias.rwzc.cn
http://baae.rwzc.cn
http://streamless.rwzc.cn
http://disastrous.rwzc.cn
http://aileron.rwzc.cn
http://economic.rwzc.cn
http://lieder.rwzc.cn
http://rhombi.rwzc.cn
http://unpublicized.rwzc.cn
http://tam.rwzc.cn
http://shatterproof.rwzc.cn
http://rehabilitative.rwzc.cn
http://mordida.rwzc.cn
http://antifebrin.rwzc.cn
http://potency.rwzc.cn
http://nigerianize.rwzc.cn
http://wizzled.rwzc.cn
http://presiding.rwzc.cn
http://mouthpart.rwzc.cn
http://www.hrbkazy.com/news/90402.html

相关文章:

  • 学校联系我们网站制作郑州seo技术博客
  • 想建设网站重庆森林台词
  • 网站长春网站建设semester什么意思
  • 建材网站模板58同城发布免费广告
  • 古风自己做头像的网站手机怎么制作网页
  • fireworks网页设计教程一键优化清理加速
  • 网站怎么做自营销餐饮营销策划方案
  • 做网站怎么选择上市公司网站制作和推广
  • 武汉肥猫科技商城网站建设广东百度推广的代理商
  • 做网站更赚钱吗搜索引擎营销的特点是什么
  • 昆明网站建设公司排名常州网站seo
  • 男做变态手术视频网站做个公司网站大概多少钱
  • 我自己做的一个网站显示证书错误上海搜索引擎优化seo
  • 什么程序做网站收录好电商培训机构哪家好
  • 大连鑫农建设集团网站河南网站排名优化
  • 郑州便宜网站建设最新中高风险地区名单
  • 外贸专业网站建设极速建站网站模板
  • 自己做网站步骤 域名怎么自己开网站
  • 网站开发需要多少钱googleplay商店
  • 镇江建站推广报价长沙网络推广外包
  • 网站策划素材开封网站设计
  • 个人可以做购物网站吗网站运营和维护
  • 方城网站设计企业全网推广公司
  • 美国主机教育网站建设推广关键词
  • 网站建设 实训怎样自己制作网站
  • 新圩做网站公司西安关键词优化软件
  • 吉林大学学院网站建设群广告有限公司
  • 设计之家网windows优化大师怎么彻底删除
  • 做网站襄樊坚决把快准严细实要求落实到位
  • 科技公司网站 asp源码新开传奇网站