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

网站备案正常多久专业网站建设微信官网开发

网站备案正常多久,专业网站建设微信官网开发,网站怎么添加百度地图,网站建设制作博走SQL 递归 ---- WITH RECURSIVE 的用法 开发中遇到了一个需求#xff0c;传递一个父类id#xff0c;获取父类的信息#xff0c;同时获取其所有子类的信息。 首先想到的是通过程序中去递归查#xff0c;但这种方法着实孬了一点#xff0c;于是想#xff0c;sql能不能递归查…SQL 递归 ---- WITH RECURSIVE 的用法 开发中遇到了一个需求传递一个父类id获取父类的信息同时获取其所有子类的信息。 首先想到的是通过程序中去递归查但这种方法着实孬了一点于是想sql能不能递归查询呢 这不一查发现还真能一 、说明 WITH RECURSIVE 是 SQL 中的一个强大特性通常用于处理递归查询常见于 PostgreSQL、MySQL 8.0 及以上、SQL Server 等数据库系统。它允许你在一个查询中引用其自身的结果集这对于处理具有层次结构的数据如树状结构或图结构非常有用。 二、 语法 WITH RECURSIVE tmp_table (column_list) AS (-- 初始查询非递归部分initial_queryUNION (ALL)-- 递归查询部分recursive_query ) SELECT * FROM tmp_table;WITH RECURSIVE递归关键字tmp_table可以理解为一个临时表column_list定义 结果集中的列列表也可省略initial_query初始查询它是递归的基础通常是一个非递归的查询为递归查询提供起始数据。UNION ALL将初始查询和递归查询的结果集合并。注意使用 UNION ALL 是为了保留重复行而 UNION 会去除重复行。recursive_query递归查询部分会引用 tmp_table 自身的结果集。 三、 举例说明 建表初始化一部分数据 (数据库环境 MYSQL 8.0 以上) CREATE TABLE geographic_info (id int NOT NULL AUTO_INCREMENT COMMENT 自增编号,name varchar(20) NOT NULL COMMENT 名称,parent_id int NULL COMMENT 父节点id,PRIMARY KEY (id) ) COMMENT地理信息表;-- init data insert into geographic_info(id,name,parent_id) value (1,安徽省,null); insert into geographic_info(id,name,parent_id) value (2,合肥市,1); insert into geographic_info(id,name,parent_id) value (3,高新区,2); insert into geographic_info(id,name,parent_id) value (4,某某小区,3);创建递归查询 -- 自下而上进行递归 -- 通过某某小区的id查询出其父类及以上层级的数据 WITH RECURSIVE descendants AS (SELECT gi.id, gi.name,gi.parent_id from geographic_info giWHERE gi.id 4UNION SELECT gi.id, gi.name,gi.parent_id from geographic_info gi join descendants d on gi.id d.parent_id ) SELECT * FROM descendants order by id;返回数据 -- 自上而下进行递归 -- 通过安徽省的id查询出其所有子类的数据注此处不合理查询请忽略仅仅为了举例 WITH RECURSIVE descendants AS (SELECT gi.id, gi.name from geographic_info giWHERE gi.id 1UNION SELECT gi.id, gi.name from geographic_info gi join descendants d on gi.parent_id d.id ) SELECT * FROM descendants order by id; 返回数据 四、注意事项 终止条件 递归最需要关注的地方就是终止条件处理不当就会导致无限递归。性能对于深度较大的树结构或图结构递归查询可能会影响性能。在某些情况下使用其他存储方式如闭包表可能会更高效数据库支持并非所有数据库都支持 WITH RECURSIVE。例如MySQL 从 8.0 开始支持而一些较旧的版本不支持使用前请确认你的数据库是否支持。 五、写在最后 数据库递归的用法也是第一次学习文章可能存在错误之处还请指出我们共同进步 文章如果对您有用就点个赞呗。 较旧的版本不支持使用前请确认你的数据库是否支持。 五、写在最后 数据库递归的用法也是第一次学习文章可能存在错误之处还请指出我们共同进步 文章如果对您有用就点个赞呗。
http://www.dnsts.com.cn/news/53239.html

相关文章:

  • 系部网站建设标准东莞手机网站建设
  • 商城建设网站的原因wordpress主题验证失败
  • 一个ip地址上可以做几个网站网站制定
  • 游戏网站建设杭州怎么注册网站 个人
  • 东莞企业网站推广多少钱设置网站解析
  • 成都网站制作收费企业网站建设验收
  • 廊坊营销网站团队企业为什么要建立网站
  • 阿里巴巴国内网站怎么做免费网站导航建设
  • 域名和空间网站猎趣网站
  • 通讯数码网站wordpress源码 优惠券
  • 烟台做网站哪里好天眼
  • 做海报的网站知乎wordpress本地后台密码修改
  • 建筑企业网站有哪些网站建设引流刘贺稳1
  • 连云港网站建设培训营销网站创建
  • 网站的轮播图怎么做网站如何实现临时聊天
  • 网站排名软件有哪些wordpress子主题安装
  • 口红网站建设目标装饰设计行业前景怎么样
  • 网站备案链接天津建设工程造价信息网
  • 专业的图纸设计网站做投融资平台的网站都有哪些
  • 怎么编写网站wordpress如何改成中文
  • wild合成版是哪个网站做的企业推广品牌
  • 嘉兴 网站建设专业网站建设怎么样
  • 做搞机网站网络平台销售
  • 哪家微网站建设专业的网站建设设计价格
  • 网站改版 收录土特产网站的制作
  • 贵州省建设职业技术学院网站网站开发的经济效益分析
  • 客户做外贸用那些网站建设部网站13清单
  • 北京微网站建设公司秦皇岛金洋建设集团网站
  • 商城开发网站建设做视频网站用什么好
  • 做网站备案需要什么wordpress服务器内部错误