sql树形查询
sql:
使用Common As:递归公用表
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树形查询的更多相关文章
- 树形查询SQL优化一例
上周五一哥们发了条SQL,让我看看,代码如下: SELECT COUNT(1) FROM (select m.sheet_id from cpm_main_sheet_history m, cpm_s ...
- Oracle树形查询
sql树形递归查询是数据库查询的一种特殊情形,也是组织结构.行政区划查询的一种最常用的的情形之一.下面对该种查询进行一些总结: start with子句: 递归的条件,需要注意的是如果with后面的值 ...
- 整理oracle 树形查询
注:本文参考了<整理oracle 树形查询> sql树形递归查询是数据库查询的一种特殊情形,也是组织结构.行政区划查询的一种最常用的的情形之一.下面对该种查询进行一些总结: create ...
- Oracle中树形查询使用方法
树形查询一般用于上下级场合,使用的特殊sql语法包括level,prior,start with,connect by等,下面将就实例来说明其用法. 表定义: create table tb_hier ...
- Linq to SQL 语法查询(链接查询,子查询 & in操作 & join,分组统计等)
Linq to SQL 语法查询(链接查询,子查询 & in操作 & join,分组统计等) 子查询 描述:查询订单数超过5的顾客信息 查询句法: var 子查询 = from c i ...
- SQL联合查询:子表任一记录与主表联合查询
今天有网友群里提了这样一个关于SQL联合查询的需求: 一.有热心网友的方案: 二.我的方案: select * from ( select a.*,(select top 1 Id from B as ...
- SQL 提高查询效率
1.关于SQL查询效率,100w数据,查询只要1秒,与您分享: 机器情况p4: 2.4内存: 1 Gos: windows 2003数据库: ms sql server 2000目的: 查询性能测试, ...
- sql语句查询
1. sql语句查询某位数字或者某几位数字开头的数据,字段类型为数字类: %’: 2. sql搜索以4开头和含有李字的数据: select * from wlzbpre_user where real ...
- SQL联合查询(内联、左联、右联、全联)的语法(转)
最近在做一个比较复杂的业务,涉及的表较多,于是在网上找了一些sql联合查询的例子进行研究使用. 概述: 联合查询效率较高,举例子来说明联合查询:内联inner join .左联left outer j ...
随机推荐
- js中函数带不带var的本质区别是什么
本质区别是:带var的是定义,属于statement:不带var的是赋值,属于expression.不带var时,解释器认为变量已经定义过了,会在函数中找相应的定义,如果找不到,就会认为变量是在外一层 ...
- tomcat局域网内发布html
1. 保证tomcat装好,启动 验证:浏览器输入:localhost:8080,看到下面页面表示成功 2. 把html文件或包含html的目录拷到Apach安装目录的Root目录下 (例如:C:\P ...
- Shell脚本检测程序,如果挂了就重启程序
脚本如下: #!/bin/sh #要检查的进程名 PROGRESS_NAME="heihu_server" #----------------------------------- ...
- JS常用的设计模式(2)——简单工厂模式
简单工厂模式是由一个方法来决定到底要创建哪个类的实例, 而这些实例经常都拥有相同的接口. 这种模式主要用在所实例化的类型在编译期并不能确定, 而是在执行期决定的情况. 说的通俗点,就像公司茶水间的饮料 ...
- 使用Git(msysgit)和TortoiseGit上传代码到GitHub
1.准备 下载Git for Windows (msysgit) 下载TortoiseGit 安装过程很简单,一直点击下一步到完成即可. 2.配置TortoiseGit 1.双击TortoiseGit ...
- 从零开始的全栈工程师——html篇1.3
文本.字体css样式与前期英语单词汇总 一.文本样式(text) 1.颜色:color:red; 2.文本对齐方式:text-align:left/center/right/justify; left ...
- oracle学习篇八:约束
----约束------- --1.主键约束--唯一标识,不能为空,通常用于ID--1>创建主键create table person(id varchar2(20) primary key,n ...
- 支持触屏的jQuery轮播图插件
移动轮播图我看到两类, 一款是无线天猫的m.tmall.com和携程,实现了无缝轮播. 一款是蘑菇街的,没有实现无缝轮播. 我自己重写一个,类似天猫. 1.页面代码 <!DOCTYPE html ...
- 洛谷P1730 最小密度路径(floyd)
题意 题目链接 Sol zz floyd. 很显然的一个dp方程\(f[i][j][k][l]\)表示从\(i\)到\(j\)经过了\(k\)条边的最小权值 可以证明最优路径的长度一定\(\leqsl ...
- html笔记【重新学习】
<a></a>超链接标签: a标签有个target属性,<a href="#" target = "_self">在当前选项 ...