旗下导航:搜·么
当前位置:网站首页 > MySQL教程 > 正文

SQL中的CTE是什么【MySQL教程】,SQL,CTE

作者:搜教程发布时间:2019-12-01分类:MySQL教程浏览:67评论:0


导读:CTE示意公用表表达式,是一个暂时定名效果集,一直返回效果集。它是为了简化SQL查询,而被规范SQL引入的。下面本篇文章就来带人人认识一下CTE(公用表表达式),愿望对人人有所协助...
CTE示意公用表表达式,是一个暂时定名效果集,一直返回效果集。它是为了简化SQL查询,而被规范SQL引入的。下面本篇文章就来带人人认识一下CTE(公用表表达式),愿望对人人有所协助。

CTE是什么?

公用表表达式(CTE)能够被认为是在单个SELECT,INSERT,UPDATE,DELETE或CREATE VIEW语句的实行范围内定义的暂时效果集。CTE类似于派生表,由于它不作为对象存储,而且仅在查询时期延续。与派生表差别,CTE能够是自援用的,而且能够在统一查询中屡次援用。【相干视频教程引荐:MySQL教程】

CTE的构造

CTE由示意CTE的表达式称号,AS关键字和SELECT语句构成。定义CTE后,能够在SELECT,INSERT,UPDATE或DELETE语句中像表或视图一样援用它。CTE也能够在CREATE VIEW语句中用作其定义SELECT语句的一部分。

CTE的基础语法构造是:

WITH Expression_Name [ ( ColumnName [1,...n] ) ]
AS
( CTE query definition )

申明:我们能够经由过程在SELECT,INSERT,UPDATE,DELETE或MERGE语句之前直接增加WITH子句来定义CTE。WITH子句中能够包括一个或多个逗号分开的CTE。

运转CTE的声明是:

SELECT <column_list>
FROM expression_name;

CTE的范例

CTE有两种范例:递归和非递归。

递归CTE:是援用本身的经常运用表表达式。

非递归CTE,望文生义,不运用递归;他们不参考本身。

运用CTE的优点

可读性:CTE提高了可读性。而不是将一切查询逻辑都集合到一个大型查询中,而是建立几个CTE,它们将在语句的背面组合。这使您能够获得所需的数据块,并将它们组合在终究的SELECT中。

替代视图:您能够用CTE替代视图。如果您没有建立视图对象的权限,或许您不想建立一个视图对象,由于它仅在此一个查询中运用,这很轻易。

递归:运用CTE会建立递归查询,即能够挪用本身的查询。当您须要处置惩罚构造构造图平分层数据时,这很轻易。

限定:战胜SELECT语句限定,比方援用本身(递归)或运用非确定性函数实行GROUP BY。

排名:每当你想运用排名函数,如ROW_NUMBER(),RANK(),NTILE()等。

以上就是本篇文章的全部内容,愿望能对人人的进修有所协助。更多精彩内容人人能够关注ki4网相干教程栏目!!!

以上就是SQL中的CTE是什么的细致内容,更多请关注ki4网别的相干文章!

标签:SQLCTE


欢迎 发表评论: