首页 / MYSQL / SQL中的CTE是什么
SQL中的CTE是什么
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了SQL中的CTE是什么,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1842字,纯文字阅读大概需要3分钟。
内容图文
![SQL中的CTE是什么](/upload/InfoBanner/zyjiaocheng/537/1ab5cb8f41a942b9b4c1d55bbea2973e.jpg)
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()等。
以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注Gxl网相关教程栏目!!!
以上就是SQL中的CTE是什么的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是互联网集市为您收集整理的SQL中的CTE是什么全部内容,希望文章能够帮你解决SQL中的CTE是什么所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。