`

sqlserver 2008 start with connect by 实现

 
阅读更多
with subqry(id,name,parent_id) as(
  select id,name,parent_id from pro_type_manage where id in ('5799936','5799946')  -- start with
  union all
  select test1.id,test1.name,test1.parent_id from pro_type_manage as test1,subqry
  where test1.parent_id = subqry.id --connect by
  )
  select* from subqry;
分享到:
评论

相关推荐

    connect by的使用探索

    [ WHERE condition ][ [ START WITH condition ] CONNECT BY condition [ ORDER SIBLINGS BY expression ] ] ``` 其中,`START WITH`子句用于指定查询的起始节点,`CONNECT BY`子句用于指定查询的递归条件。 ...

    Oracle和SqlServer语法区别

    这些子句在SqlServer中不支持,但是可以使用其他方式实现相同的结果。 二、函数和过程 Oracle和SqlServer都支持函数和过程,但是它们之间存在一些差异。 Oracle支持PL/SQL函数和过程,而SqlServer支持Transact-...

    ORACLE和SQL Server的语法区别

    - **SQL Server:** SQL Server提供了类似的SELECT语句结构,但并不支持`START WITH ... CONNECT BY` 子句。为了实现层次结构查询,可以使用递归公共表表达式(Recursive CTEs)。 ```sql SELECT select_list ...

    SQLServer2008镜像设置手册

    ### SQL Server 2008 数据库镜像设置详解 #### 一、版本确认 - **版本要求**:为了确保数据库镜像功能可用,需要确认当前安装的是支持该特性的SQL Server版本。根据文档提示,只有SQL Server 2008的企业版、标准版...

    Sql Server与Oracle的区别

    - **SELECT语句**:尽管基本语法相似,但Oracle支持特定的优化提示和集合运算符如START WITH和CONNECT BY,以及INTERSECT和MINUS,这些在Sql Server中需要通过其他方式实现,比如使用EXISTS和NOT EXISTS子句。...

    ORACLE与SQLSERVER语法差异分析

    - 在SQL SERVER中,递归查询通常使用`WITH`子句创建公共表表达式(CTE),结合`UNION ALL`和`JOIN`来实现。如示例所示,`cte_root`或`cte_child`定义递归起点,`connect by ID=prior ParentID`表示递归路径。 - ...

    Oracle和SQL_Server的语法区别

    - Oracle 的 `START WITH U CONNECT BY` 用于创建层次查询,SQL Server 可以通过递归公共表表达式(CTE)或存储过程实现类似功能。 - Oracle 支持 `INTERSECT` 和 `MINUS` 集合运算符,而 SQL Server 用 `EXISTS` 和...

    oracle mysql SQL server分页

    本文将详细介绍Oracle、MySQL以及SQL Server这三种常用数据库管理系统中的分页查询实现方法。 #### 一、Oracle 分页查询 在Oracle中实现分页查询主要依靠`ROWNUM`伪列,这是一种非常简单但功能强大的机制。下面将...

    SQLServer 镜像功能完全实现

    ### SQL Server 镜像功能完全实现 #### 概述 SQL Server 镜像是一项高级功能,旨在通过创建数据库的实时副本以提高数据可用性和灾难恢复能力。它允许两个服务器(一个主要服务器和一个次要服务器)保持同步,从而...

    数据库设计之递归树查询

    本文将深入探讨如何通过递归查询来解决这类问题,并着重讲解使用`WITH`语句来实现递归查询的方法,适用于多种数据库系统,如MySQL、PostgreSQL、SQL Server等。 一、理解递归查询 递归查询是一种在数据库中遍历层级...

    oracle mysql sqlserver 查看当前所有数据库及数据库基本操作命令.docx

    Oracle、MySQL、SQL Server都是常用的数据库管理系统,它们提供了多种方式来管理和操作数据库。在本文中,我们将介绍Oracle、MySQL、SQL Server查看当前所有数据库及数据库基本操作命令。 一、Oracle数据库管理系统...

    oracle和SQL的语法区别

    在 SELECT 语句方面,虽然基本结构相似,但 Oracle 的特定功能如 `START WITH` 和 `CONNECT BY` 用于构建层次查询,在 SQL Server 中可以通过递归查询或存储过程实现。此外,Oracle 的 `INTERSECT` 和 `MINUS` 集合...

    sql查询某个parentid下的所有childid

    本篇文章将通过Oracle数据库中的`CONNECT BY`特性来实现这一需求。 #### 1. 理解CONNECT BY `CONNECT BY`是Oracle提供的一种特殊查询方法,用于处理层次结构的数据。它基于一个称为“连接路径”的概念,允许用户...

    数据库高可用证书的创建.txt

    本文将详细解析“数据库高可用证书的创建”这一主题,并结合提供的SQL脚本示例来深入理解如何在SQL Server环境中实现这一点。 #### 一、什么是SQL高可用性? SQL高可用性是指通过一系列技术手段确保数据库服务能够...

    Oracle,MS-SQL server命名规范和语法整理.txt

    - **MSSQL与Oracle**:基本语法一致,但Oracle提供了更丰富的功能,如`WITH`子句用于定义子查询,以及`CONNECT BY`和`START WITH`用于层次查询。 综上所述,无论是命名规范还是具体的语法特性,Oracle与MS SQL ...

    一种MySQL数据库SQL递归查询的研究与实现.pdf

    CONNECT BY PRIOR`子句直接支持递归查询,而SQL Server 2005及以上版本则利用公共表表达式(CTE)的递归调用来实现。POSTgreSQL同样支持CTE子查询进行递归。这些数据库允许在SQL语句中直接对子查询进行递归调用,...

    sql 遞迴寫法 (webcs cs department 如何知道最上層department)1

    在MS SQL Server中,我们可以使用Common Table Expression (CTE) 结合递归来实现这个功能。以下是几种不同的解决方案: **解法1:列出某个部门代码以上的所有部门** ```sql WITH unitLevel AS ( SELECT id, code, ...

    常用sql语句的收集

    在Oracle中,使用`START WITH`和`CONNECT BY`子句进行层次查询或递归查询。例如,查询设备名称及其所属公司的递归关系: ```sql WITH RECURSIVE device_hierarchy AS ( SELECT d.device_name, c.company_name ...

    微软内部资料-SQL性能优化3

    To support SERIALIZABLE transaction semantics, SQL Server needs to lock sets of rows specified by a predicate, such as WHERE salary BETWEEN 30000 AND 50000 SQL Server needs to lock data that does ...

Global site tag (gtag.js) - Google Analytics