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. linux下memcached的启动/结束的方式

    当前项目中,linux下memcached的启动/结束的方式 默认情况下memcached安装到/usr/local/bin下. 进入安装目录,启动memcached:/usr/local/memca ...

  2. mysql中字段类型是datetime时比较大小问题

    select sum(studychj) as tofflinejz from afterline where studybegin >= '2010-01-01 00:00:00' and s ...

  3. IDEA 中,编译后不拷贝 mybatis 配置的 mapper 的 xml 文件

    在maven项目的pom.xml配置文件里添加 <build> <resources> <resource> <directory>src/main/j ...

  4. [html/js]点击标题出现下拉列表

    效果 初始 点击后 参考代码 <!DOCTYPE html> <html> <head> <title>Layer group example</ ...

  5. css三角块

    html: <div class="angle"></div> css: .angle{ width: 0px; height: 0px; border-b ...

  6. [转]使用 Razor 进行递归操作

    本文转自:http://www.cnblogs.com/zbw911/archive/2013/01/10/2855025.html 做一个菜单,多级的会遇到递归的问题,打算在code中做一个递归方法 ...

  7. fullpage的使用以及less, Sass的属性和JQuery自定义插件的声明和使用

    使用fullpage的步骤   1 导入JQuery.js fullpage,js fullpage.css 2 组建网页布局,最外层id="fullpage" 单页class=& ...

  8. 搭建Vue2.0开发环境

    1.必须要安装nodejs 2.搭建vue的开发环境 ,安装vue的脚手架工具 官方命令行工具 npm install --global vue-cli / cnpm install --global ...

  9. Java复习之Eclipse快捷键大全

    Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当 ...

  10. 文档生成工具Sandcastle Help File Builder

    Sandcastle Help File Builder   http://shfb.codeplex.com/