SQL递归查询知多少

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL递归查询知多少相关的知识,希望对你有一定的参考价值。

参考技术A 1、基本概念

公用表表达式 (CTE) 可以认为是在单个 SELECT、INSERT、UPDATE、DELETE 或 CREATE VIEW 语句的执行范围内定义的临时结果集。公用表表达式可以包括对自身的引用,这种表达式称为递归公用表表达式。

创建递归查询。有关详细信息,请参阅使用公用表表达式的递归查询。
在不需要常规使用视图时替换视图,也就是说,不必将定义存储在元数据中。
启用按从标量嵌套 select 语句派生的列进行分组,或者按不确定性函数或有外部访问的函数进行分组。
在同一语句中多次引用生成的表。

MSDN上对CTE的介绍
T-SQL查询进阶--详解公用表表达式(CTE)

CTE 的基本语法结构如下:

WITH expression_name [ ( column_name [,...n] ) ]
AS
( CTE_query_definition )
--只有在查询定义中为所有结果列都提供了不同的名称时,列名称列表才是可选的。
--运行 CTE 的语句为:
SELECT <column_list> FROM expression_name;

即三个部分:

公用表表达式的名字(在WITH关键字之后)
查询的列名(可选)
紧跟AS之后的SELECT语句(如果AS之后有多个对公用表的查询,则只有第一个查询有效)
参考技术B 一、SqlServer 递归查询
1、基本概念
公用表表达式 (CTE) 可以认为是在单个 SELECT、INSERT、UPDATE、DELETE 或 CREATE VIEW 语句的执行范围内定义的临时结果集。公用表表达式可以包括对自身的引用,这种表达式称为递归公用表表达式。
http://www.cnblogs.com/sheng-jie/p/6347835.html本回答被提问者采纳

oracle hint 知多少

oracle hint 可以用v$sql_hint 来查询,比如有多少个INDEX相关的hint

>set pagesize 500>set linesize 300>select NAME,CLASS,VERSION,PROPERTY from v$sql_hint where name like %INDEX%;

NAME                                 CLASS                                  VERSION              PROPERTY
---------------------------------------------------------------- ---------------------------------------------------------------- ------------------------- ----------
INDEX_STATS                             TABLE_STATS                              10.1.0.3               272
DOMAIN_INDEX_SORT                         DOMAIN_INDEX_SORT                          8.1.5                  0
DOMAIN_INDEX_NO_SORT                         DOMAIN_INDEX_SORT                          8.1.5                  0
LOCAL_INDEXES                             LOCAL_INDEXES                              9.0.0                  0
USE_NL_WITH_INDEX                         USE_NL_WITH_INDEX                          10.1.0.3               304
INDEX_ASC                             ACCESS                               8.1.0                304
INDEX                                 ACCESS                               8.0.0                304
INDEX_DESC                             ACCESS                               8.1.0                304
NO_INDEX                             NO_INDEX                              8.1.5                304
INDEX_FFS                             ACCESS                               8.1.0                304
NO_INDEX_FFS                             NO_INDEX_FFS                              10.1.0.3               304
INDEX_SS                             ACCESS                               9.0.0                304
INDEX_SS_ASC                             ACCESS                               9.0.0                304
INDEX_SS_DESC                             ACCESS                               9.0.0                304
NO_INDEX_SS                             NO_INDEX_SS                              10.1.0.3               304
INDEX_COMBINE                             ACCESS                               8.1.0                432
INDEX_JOIN                             ACCESS                               8.1.5                304
INDEX_RRS                             ACCESS                               9.0.0                304
PARALLEL_INDEX                             PARALLEL_INDEX                           8.1.0                288
NO_PARALLEL_INDEX                         PARALLEL_INDEX                           8.1.0                288
DOMAIN_INDEX_FILTER                         DOMAIN_INDEX_FILTER                          11.1.0.6               304
NO_DOMAIN_INDEX_FILTER                         NO_DOMAIN_INDEX_FILTER                       11.1.0.6               304
INDEX_RS_ASC                             ACCESS                               11.1.0.6               304
INDEX_RS_DESC                             ACCESS                               11.1.0.6               304
NUM_INDEX_KEYS                             ACCESS                               10.2.0.3               304
XMLINDEX_REWRITE                         XMLINDEX_REWRITE                          11.1.0.6                 0
NO_XMLINDEX_REWRITE                         XMLINDEX_REWRITE                          11.1.0.6                 0
XMLINDEX_REWRITE_IN_SELECT                     XMLINDEX_REWRITE                          11.1.0.6                 0
NO_XMLINDEX_REWRITE_IN_SELECT                     XMLINDEX_REWRITE                          11.1.0.6                 0
USE_INVISIBLE_INDEXES                         USE_INVISIBLE_INDEXES                          11.1.0.6                 0
NO_USE_INVISIBLE_INDEXES                     USE_INVISIBLE_INDEXES                          11.1.0.6                 0
IGNORE_ROW_ON_DUPKEY_INDEX                     IGNORE_ROW_ON_DUPKEY_INDEX                      11.1.0.7               288
CHANGE_DUPKEY_ERROR_INDEX                     CHANGE_DUPKEY_ERROR_INDEX                      11.1.0.7               288
XMLINDEX_SEL_IDX_TBL                         XMLINDEX_SEL_IDX_TBL                          11.2.0.1                 0

34 rows selected.

 

以上是关于SQL递归查询知多少的主要内容,如果未能解决你的问题,请参考以下文章

mysql递归查询

sql server 递归查询

sql 怎么递归查询的方法:

sql 递归查询

关于SQL递归查询问题

ms sql 2005 递归查询如何实现