sql:

使用Common As:递归公用表

https://docs.microsoft.com/en-us/sql/t-sql/queries/with-common-table-expression-transact-sql?view=sql-server-2017

sql:http//blog.51cto.com/tianxingzhe/1720092

/****** Script for SelectTopNRows command from SSMS  ******/

--查询某个节点上的所有父节点  如果需要过滤在where后面跟过滤条件
WITH MyTest
AS (
--起始条件
SELECT id,
title,
parent
FROM tb_menu
WHERE id = 44 --列出子节点查询条件
UNION ALL --http://www.w3school.com.cn/sql/sql_union.asp
--递归条件
SELECT a.id,
a.title,
a.parent
FROM tb_menu a
INNER JOIN MyTest b --执行递归,这里就要理解下了
ON a.id = b.parent)
SELECT *
FROM MyTest; --查询父节点下面的子节点
WITH cte_child (id, title, parent, level)
AS (
--起始条件
SELECT id,
title,
parent,
0 AS level
FROM tb_menu
WHERE id = 6 --列出父节点查询条件
UNION ALL
--递归条件
SELECT a.id,
a.title,
a.parent,
b.level + 1
FROM tb_menu a
INNER JOIN cte_child b
ON (a.parent = b.id))
SELECT *
FROM cte_child;

Oracle的树形:

Oracle:https://blog.csdn.net/u014421556/article/details/51689787

Oracle树查询的最重要的就是select...start with... connect by...prior语法了。

--列出父节点的所有子节点<font></font>
SELECT *<font></font>
FROM VD_REGIONAL vr START WITH ID = '0358DEF3091E6E9AE0503F0A05020A18' CONNECT BY vr.PARENT_ID = PRIOR vr.ID;

--列出子节点的所有父节点    不要顶级父类  [WHERE vr.PARENT_ID!='0']<font></font>
SELECT *
FROM VD_REGIONAL vr START WITH ID = '2c90898b63f968f40163fc31b37c08d3' CONNECT BY vr.ID = PRIOR vr.PARENT_ID;
--条件筛选
SELECT *
FROM VD_REGIONAL vr WHERE vr.PARENT_ID!='' START WITH ID = '2c90898b63f968f40163fc31b37c08d3' CONNECT BY vr.ID = PRIOR vr.PARENT_ID;

sql树形查询的更多相关文章

  1. 树形查询SQL优化一例

    上周五一哥们发了条SQL,让我看看,代码如下: SELECT COUNT(1) FROM (select m.sheet_id from cpm_main_sheet_history m, cpm_s ...

  2. Oracle树形查询

    sql树形递归查询是数据库查询的一种特殊情形,也是组织结构.行政区划查询的一种最常用的的情形之一.下面对该种查询进行一些总结: start with子句: 递归的条件,需要注意的是如果with后面的值 ...

  3. 整理oracle 树形查询

    注:本文参考了<整理oracle 树形查询> sql树形递归查询是数据库查询的一种特殊情形,也是组织结构.行政区划查询的一种最常用的的情形之一.下面对该种查询进行一些总结: create ...

  4. Oracle中树形查询使用方法

    树形查询一般用于上下级场合,使用的特殊sql语法包括level,prior,start with,connect by等,下面将就实例来说明其用法. 表定义: create table tb_hier ...

  5. Linq to SQL 语法查询(链接查询,子查询 & in操作 & join,分组统计等)

    Linq to SQL 语法查询(链接查询,子查询 & in操作 & join,分组统计等) 子查询 描述:查询订单数超过5的顾客信息 查询句法: var 子查询 = from c i ...

  6. SQL联合查询:子表任一记录与主表联合查询

    今天有网友群里提了这样一个关于SQL联合查询的需求: 一.有热心网友的方案: 二.我的方案: select * from ( select a.*,(select top 1 Id from B as ...

  7. SQL 提高查询效率

    1.关于SQL查询效率,100w数据,查询只要1秒,与您分享: 机器情况p4: 2.4内存: 1 Gos: windows 2003数据库: ms sql server 2000目的: 查询性能测试, ...

  8. sql语句查询

    1. sql语句查询某位数字或者某几位数字开头的数据,字段类型为数字类: %’: 2. sql搜索以4开头和含有李字的数据: select * from wlzbpre_user where real ...

  9. SQL联合查询(内联、左联、右联、全联)的语法(转)

    最近在做一个比较复杂的业务,涉及的表较多,于是在网上找了一些sql联合查询的例子进行研究使用. 概述: 联合查询效率较高,举例子来说明联合查询:内联inner join .左联left outer j ...

随机推荐

  1. React.js 小书 Lesson13 - 渲染列表数据

    作者:胡子大哈 原文链接:http://huziketang.com/books/react/lesson13 转载请注明出处,保留原文链接和作者信息. 列表数据在前端非常常见,我们经常要处理这种类型 ...

  2. Android开发_如何调用系统默认浏览器访问

    Android开发_如何调用系统默认浏览器访问 2015-10-20 17:53 312人阅读  http://blog.sina.com.cn/s/blog_6efce07e010142w7.htm ...

  3. 经典算法详解(1)斐波那契数列的n项

    斐波那契数列是一个常识性的知识,它指的是这样的一个数列,它的第一项是1,第二项是1,后面每一项都是它前面两项的和,如:1,1,2,3,5,8,13,21,34,55,89,144,233…… 说明:由 ...

  4. 【linux相识相知】网络属性配置

    当我们拥有一个崭新的计算机的时候,第一步恐怕都是迫不及待的下载各种软件,看视频,听音乐等,这里的关键的一点是要有网络.现在的个人计算机大部分都是windows操作系统的,接入网络网络很简单,插上网线也 ...

  5. C#编程的几个概念

    编译器(计算机) 开发人员 指令&对象 C# 有一批既定的指令, 关键字,方法.函数 变量.控件 通过指令去操作对象. 1. 熟记指令 2. 指令-对象的可操作关系 3. 合乎语法规范

  6. 正则表达式的实践demo

    正则表达式十分强大,几乎在所有框架中处处可以看到,下载框架源码仔细阅读肯定可以发现.在项目应用中也经常需要正则的帮助,举个栗子,我们常需要用到的表单验证输入....其实还有很多,不一一道出,在这里我搜 ...

  7. Bootstrap组件介绍

    一.下拉菜单 用于显示链接列表的可切换.有上下文的菜单.下拉菜单的 JavaScript 插件让它具有了交互性. 1.实例 将下拉菜单触发器和下拉菜单都包裹在 .dropdown 里,或者另一个声明了 ...

  8. Django——admin管理工具

    一.admin组件使用 Django 提供了基于 web 的管理工具. Django 自动管理工具是 django.contrib 的一部分.你可以在项目的 settings.py 中的 INSTAL ...

  9. Mac安装Gradle eclipse安装buildship插件

    一直用的eclipse+mvn,现在需要导入别人的gradle项目,所以下载了gradle和在eclipse中安装了buildship插件. 一,mac下安装gradle 1,点击网页https:// ...

  10. Flowchart

    1. 工具可使用 https://www.processon.com 2.