当前位置: 首页 > 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.w-s-a.com/news/602336/

相关文章:

  • 学校英语网站栏目名称WordPress禁用邮件注册
  • 手机qq网页版网站沧州手机网站开发
  • 深圳罗湖网站设计公司建设的网站属于无形资产吗
  • 网站开发python西安网站建站品牌
  • 网站开发商标属于哪一类做网站还有钱赚吗
  • 做设计的搜素材上什么网站好设计公司画册设计哪家好
  • 视频网站开发需要什么语言做ui设计一年后年薪多少
  • 网站服务器维护费用统一企业官方网站
  • 网站如何调用手机淘宝做淘宝客呼和浩特网站运营公司
  • 做推广可以上那些网站网页游戏排行榜2014前十名
  • 国外网站备案流程企业网站 流程
  • 重庆网站建设letide童程童美少儿收费价目表
  • 苏州建站仿站东莞排名推广
  • 大中小网站的区分wordpress个人主页主题
  • 商务网站建设的可行性分析包括小程序源码网免费
  • 永州网站建设收费标准重庆网站建设公司夹夹虫专业
  • python做网站多少钱wordpress 2.8
  • 深圳网站平台网站开发工作程序怎么写
  • 自己可以接单做网站吗wordpress 添加自定义按钮
  • 网站首页权重宣传页制作
  • 智能网站建设软件有哪些方面网页的建设
  • 石铜路网站建设生鲜电商网站开发
  • 怎么提高网站加载速度慢网站的轮播怎么做的
  • 网络网站推广优化建筑工程教育网官方网站
  • 旅行社网站策划做网站编辑好还是美工好
  • 珠海做网站找哪家好在线磁力搜索神器
  • 做网站优化有必要wordpress导航栏字体
  • 中山网站建设半江红沈阳免费网站建站模板
  • 工信部网站备案管理系统网站备案负责人 更换
  • 我要做个网站该怎么做怎么做电商平台网站