sql server with temp as用法

sql 性能优化:SQL Server with as 的作用提高重复sql语句执行效率;这个语法递归很实用呀,分层子查询也很棒呢 阅读详情

WITH temp AS (
SELECT D.DocumentId,PR, EBELN FROM Document AS D 
LEFT JOIN Contract C ON D.DocumentId = C.DocumentId
LEFT JOIN PO_Item P ON D.PR = P.BANFN
WHERE D.ProcessLinkId=8 AND PR IS NOT NULL),
TEMP1 AS(
 SELECT D.DocumentId,D.CompanyName '公司',FORMAT(ApplicationDate,'yyyy') '年度',ProjectName '项目名称',BaseCurrencyProjectBudget '金额',CurrencyCode '币种' FROM Document AS D
 LEFT JOIN ProjectService AS PS ON D.DocumentId=PS.DocumentId
 WHERE D.ProcessLinkId=2
),
TEMP2 AS(
SELECT D.DocumentId ,D.CompanyName '公司',FORMAT(ApplicationDate,'yyyy') '年度',ProjectName '项目名称',BaseCurrencyProjectBudget '金额',T.EBELN 'PO',CurrencyCode '币种' FROM ProcessLinkRecord P
LEFT JOIN temp T ON P.RecordId=T.DocumentId
LEFT JOIN ProjectService S ON S.DocumentId = P.PreviousRecordId
LEFT JOIN Document D ON S.DocumentId = D.DocumentId
WHERE P.PreviousProcessLinkId=2 AND P.ProcessLinkId=8)
SELECT T1.公司,T1.年度,T1.项目名称,T1.金额,T2.PO,T1.币种 FROM TEMP1 T1
LEFT JOIN TEMP2 T2 ON T1.DocumentId = T2.DocumentId

1. temp后面必须直接跟使用temp的SQL语句(如select、insert、update等),否则,temp将失效。如下面的SQL语句将无法正常使用temp:

WITH temp AS (
SELECT D.DocumentId,PR, EBELN FROM Document AS D 
LEFT JOIN Contract C ON D.DocumentId = C.DocumentId
LEFT JOIN PO_Item P ON D.PR = P.BANFN
WHERE D.ProcessLinkId=8 AND PR IS NOT NULL)

SELECT *FROM DOCUMENT 

SELECT *FROM temp ----temp失效

2. temp后面也可以跟其他的TEMP1,但只能使用一个with,多个temp中间用逗号(,)分隔,如上面的SQL语句所示

3. 如果DOCUMENT的表达式名称与某个数据表或视图重名,则紧跟在该DOCUMENT后面的SQL语句使用的仍然是DOCUMENT,当然,后面的SQL语句使用的就是数据表或视图了,如下面的SQL语句所示:
--  DOCUMENT是一个实际存在的表
WITH
DOCUMENT AS
(
   SELECT *FROM DOCUMENT
)
select * from DOCUMENT--  使用了名为DOCUMENT的公共表表达式
select * from DOCUMENT--  使用了名为DOCUMENT的数据表

4. CTE 可以引用自身,也可以引用在同一 WITH 子句中预先定义的 CTE。不允许前向引用。

5. 不能在 CTE_query_definition 中使用以下子句:
(1)COMPUTE 或 COMPUTE BY
(2)ORDER BY(除非指定了 TOP 子句)
(3)INTO
(4)带有查询提示的 OPTION 子句
(5)FOR XML
(6)FOR BROWSE

6. 如果将 CTE 用在属于批处理的一部分的语句中,那么在它之前的语句必须以分号结尾,如下面的SQL所示:
declare @s nvarchar(3)
set @s = 'C%'
;  -- 必须加分号
with
t_tree as
(
    select CountryRegionCode from person.CountryRegion where Name like @s
)
select * from person.StateProvince where CountryRegionCode in (select * from t_tree)

7、CTE除了可以简化嵌套SQL语句外,还可以进行递归调用
--------------------- 

 

S7-1200PLC期末复习题(第七章) A.0 B.1 C.4 D.-4 A、CV = 0 B、CV = 1 C、CV < 4 D、CV >= 4A、0,0 B、3,0 C、1,1 D、3,1 A、0 B、1 C、先是1,再变为0 D、先是0,再变为1置位输出:常开触点M0.0闭合,Q0.0变为1状态并保存该状态,即使M0.0断开,Q0.0也保持1状态。 复位输出:常开触点M0.1闭合时,Q0.0变为0状态并保持该状态,即使M0.1断开,Q0.0也保持为0状态。 A、1 B、0 C、5 D、10RESET_BF指令需要两个参数,第一个是复位的位数 阅读详情

相关推荐

【k8s面试】超详细kubernetes面试题总结,面试必问!(附200道K8s Docker面试真题+答案详解

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

2401_83620959的博客 1465

with temp as 使用

with temp1 as (select * from TEST_NOT_DELETE where id='1') ,temp2 as (select * from TEST_NOT_DELETE where id='2') select * from TEST_NOT_DELETE t where t.id in (select id from temp1 union select id from temp2) 同级sql中只能有一个with,一个with 可.

Yiyi_cc的博客 8158

高频面波成像实战:从频散曲线到全波形反演

面波勘探是近地表工程勘察的重要手段,其核心原理在于不同频率的面波对地下介质的敏感深度不同,由此形成的频散曲线能够反映浅层剪切波速结构。相较于传统钻探与折射波法,高频面波成像具有无损、高效、对低速夹层敏感等优势,广泛应用于路基检测、空洞探测、滑坡调查等领域。在实际工程中,从野外采集的排列设计、震源选型,到频散谱提取与频散曲线反演,每一步都直接影响成像精度。然而频散反演受限于一维层状假设,难以刻画横向剧烈变化的地质体。全波形反演通过拟合完整波形信息,能够突破频散曲线的分辨率边界,获得更精细的近地表速度模型。本文

weixin_29090917的博客 270

With temp as---sql语句用法

with子句 http://hb.QQ.com  2010年04月08日17:23   IT168      3.1 with基础      使用WITH AS 语句可以为一个子查询语句块定义一个名称,使用这个子查询名称可以在查询语句的很多地方引用这个子查询。Oracle 数据库像对待内联视图或临时表一样对待被引用的子查询名称,从而起到一定的优化作用。with子句是9i新增...

dinghao4820的博客 1451

AI+医疗:多模态模型让肺结节诊断准确率突破95%+的实战方案

多模态融合是必由之路:单一影像模型难以突破95%准确率,必须整合临床、生物标志物等多维数据跨模态注意力机制是核心:简单拼接效果差,注意力机制能自动学习各模态权重,提升融合效果临床适配比技术先进更重要:模型输出必须符合医生诊断习惯,提供可解释的决策依据持续学习是长期成功的关键:医疗数据分布不断变化,模型必须具备自适应能力多学科协作是保障:放射科、胸外科、病理科、AI工程师共同参与模型设计与优化。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1022

SerDes硬件设计原理介绍

接收端:外部差分串行数据------线性均衡器----(CDR从数据中恢复出采样时钟)-----解串器(串行信号转并行信号)-------8B/10B的解码器或解扰器-----FIFO-----FPGA接受差分并行数据。发送端: FPGA发送差分并行数据----FIFO------8B/10B编码器或者扰码器-----串行器(并行信号转串行信号)-----均衡器(滤波)--------TX串行信号差分外发。串行器:8bit的并行数据----2bit的并行数据----1bits的串行数据。

weixin_42304393的博客 1108

sql中简简单单明明白白得使用 with temp as (select x from table1)

今天在看博客得时候,发现了一个我不曾使用过得sql语法,感到很奇怪,就多看了几下。 发现还是很有用处得。 于是从地铁里出来后收起手机,直奔公司,打开电脑,使用了一下。 我去,上来就报错。 with temp_xs as (select xydm from xj_xsxxb where xh like'%001510%'), temp_js as (select xydm from ...

DAMO小天天 6940

剪映专业版教程:用AI生成音乐MV并重新制作画面—《漂泊与归梦》完全原创实战

本文详细拆解如何用AI生成音乐MV并重新制作画面的全流程。以歌曲《漂泊与归梦》为例,首先用AI将歌词转化为带音乐的MP4文件;导入剪映后分离音频并删除原视频,通过“识别字幕”功能提取歌词文本并逐句核对修正;接着设置“向右擦除”动画并锁定字幕轨道;最后根据歌词意境配置动漫、风景等非真人画面规避审核风险。教程涵盖从AI生成、音频分离、字幕提取到画面重制的每个环节,助你打造完全原创、无侵权风险的音乐短视频。

深耕计算机专业知识与技术。 1074

Oracle WITH语句的使用

本文是看了DB2 SQL精粹有感写的Oracle版本,毕竟两个大公司的产品有不同嘛。 说起WITH 语句,除了那些第一次听说WITH 语句的人,大部分人都觉得它是用来做 递归查询的。其实那只是它的一个用途而已,它的本名正如我们标题写的那样,叫做:公共 表表达式(Common Table Expression),从字面理解,大家觉得它是用来干嘛的呢? 其实,它是用来定义临时集合的。 WITH TEMP(ID,USER) AS( SELECT ‘01’,’SAM’ FROM DUAL UNION ALL S

weixin_40123451的博客 1766

YOLO26改进策略【模型轻量化】| 替换骨干网络 CVPR-2024 StarNet,超级精简高效的轻量化模块

本文记录的是。YOLO26主要用于轻量化应用部署,相关轻量化改进与其整体架构非常适配。StarNet设计简洁,没有复杂的设计和精细调整的超参数,仅是一个 4 阶段的分层架构。并且其中能够在低维空间计算的同时考虑极高维的特征这一特性,进而提高模型精度。本文在替换骨干网络中配置了原论文中的starnet_s1starnet_s2starnet_s3和starnet_s4七种模型,以满足不同的需求。

Limiiiing的博客 1091

【WorkBuddy从入门到精通实战教程】实战案例 第 18 章 把投资分析(炒股)变成你的日常

投资本身就是一件高度信息密集、强结构化、又极度依赖判断的事:读不完的财报、理不清的行业、吵不停的多空。而整理碎片信息、拆解复杂材料、把思考过程摆到台面上,恰好是 AI 擅长的。 在一次完整的股票研究里,AI 到底能替你做掉哪些低质量的重复劳动,把精力还给判断本身。

企鹅码农的专属播客,分享10多年的实战案例和经验解读,包含YOLO、RT-DETR、AI等各个工作领域。 473

sql server视图使用 with temp as

sql server视图使用 with temp as 语句 最后打开设计的时候 没有with temp as字样 但是整个视图是可以用的 所以应该是视图自动处理了withtempas

灵感来自小西装 1234

【RT-DETR涨点改进】全网独家创新,卷积细节涨点改进篇 | TCSVT 2025 | 引入DGBM差分专家引导双向调制模块,利用双向仿射调制实现特征分布对齐,含多种创新改进,助力小目标检测高效涨点

本文提出DGBM差分专家引导双向调制模块,用于改进RT-DETR目标检测网络。该模块通过差分建模突出不同层级特征的独特信息,利用双向调制实现特征分布对齐,增强局部细节与全局语义的协同表达。DGBM包含差分专家机制、物理反演建模和双向仿射调制三个关键部分,能有效解决CNN与Transformer特征融合冲突问题。实验表明,该方法可提升复杂场景下的检测精度,降低误检漏检率,且模块具有可插拔、易集成的特点。文章详细介绍了模块结构、原理、优势及具体实现代码,并提供了四种RT-DETR改进方案的yaml配置文件。

Ai缝合怪、助力小伙伴高效发论文 441

SQL server数据库with as子句与递归查询的实现

sql server中递归并不与Oracle等数据库中的递归一样。在sql server中递归使用join自连接完成的,当然这些都要在with as短句中完成的,下面我们先来说一下with as 短句。 1.关于with as短句 WITH AS短语,也叫子查询部分(subquery factoring),可以定义一个SQL片断,该SQL片断会被整个SQL语句用到。可以使SQL语句的可读性更高...

飘零落叶 5070

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Oracle数据库SQL复杂查询、数据处理(一、使用WITH AS提高性能简化嵌套SQL)

原博文链接 http://www.cnblogs.com/fygh/archive/2011/08/31/2160266.html 一、WITH AS的含义 WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到。有的时候,是为了让SQL语句的可读性更高些,也有可能是在UNION ALL的不同部...

一江的博客 750

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Sql Server (With)(随手笔记)

With用法 Sql中With作用 1)with As短语,也叫做子查询部分(subquery factoring),可以定义一个SQL片断,该SQL片断会被整个SQL语句用到。可以使SQL语句的可读性更高,也可以在union All的不同部分,作为提供数据的部分。 2)对于union All,使用With As定义了一个union All语句,当该片断被调用2次以上,优化器会自动将该WITH A...

qq_41863998的博客 4407

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

SQLServer用with temptb AS临时表查询或者更新字段,将某个字段赋值成某个字段的值...

with temptb AS(SELECT sl.CompanyID,info.BID FROM dbo.TableXXXXX slLEFT JOIN dbo.Tableinfo infoON info.ID = sl.CompanyIDWHERE sl.ServiceId = 8AND sl.IsDel = 0AND sl.CreateTime>'2017-07-14...

aijian9025的博客 573

SQL Server中with as 的用法

一.WITH AS的含义 WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到。有的时候,是为了让SQL语句的可读性更高些,也有可能是在UNION ALL的不同部分,作为提供数据的部分。 特别对于UNION ALL比较有用。因为UNION ALL的每个部分可能相同,但是如果每个部分...

Backcanhave7 6960

SQL With As 用法

虽然上面的SQL语句要比第一种方式更复杂,但却将子查询放在了表变量@t中,这样做将使SQL语句更容易维护,但又会带来另一个问题,就是性能的损失。由于表变量实际上使用了临时表,从而增加了额外的I/O开销,因此,表变量的方式并不太适合数据量大且频繁查询的情况。为此,在SQL Server 2005中提供了另外一种解决方案,这就是公用表表达式(CTE),使用CTE,可以使SQL语句的可维护性,同时,CTE要比表变量的效率高得多。虽然这条SQL语句并不复杂,但如果嵌套的层次过多,会使SQL语句非常难以阅读和维护。

sally的jerry 3615

SQL Server 教程之 with as使用详解

一.WITH AS的含义 WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到。有的时候,是为了让SQL语句的可读性更高些,也有可能是在UNION ALL的不同部分,作为提供数据的部分。 特别对于UNION ALL比较有用。因为UNION ALL的每个部分可能相同,但是如果每个部分都去执行一遍的话,则成本太高,所以可以使用WITH AS短语,则只要执行一遍即可。如果WITH AS短语所定义的表名被调用两次以

craftsman2020的博客 3055

sql的with as高效语法

1 . with a as with a as (select * from test) select * from a; 其实就是把一大堆重复用到的SQL语句放在with as 里面,取一个别名,后面的查询就可以用它 这样对于大批量的SQL语句起到一个优化的作用,而且清楚明了

rudy gao 8931

SQL with as 的用法 以及递归函数的写法

一.WITH AS的含义     WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到。有的时候,是为了让SQL语句的可读性更高些, 也有可能是在UNION ALL的不同部分,作为提供数据的部分。 特别对于UNION ALL比较有用。因为UNION ALL的每个部分可能相同,但是如果每个

VictorZhang 7266

sql server笔记(临时表以及WITH AS短语)

sql server笔记 WITH AS短语 我的理解就是将查询结果集单独抽离出来作为表,供下面查询进行调用 WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到。有的时候,是为了让SQL语句的可读性更高些,也有可能是在UNION ALL的不同部分,作为提供数据的部分。 特别对于UNION ALL比较有用。因为UNION ALL的每个部分可能相同,但是如果每个部分都去执行一遍的话,则成本太高,所以可以使用W

weixin_42563880的博客 1291

SQLserver With As 用法

一.WITH AS的含义 WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到。有的时候,是为了让SQL语句的可读性更高些,也有可能是在UNION ALL的不同部分,作为提供数据的部分。 特别对于UNION ALL比较有用。因为UNION ALL的每个部分可能相同,但是如果每个部分都去执行一遍的话...

极客神殿 2670

SQL 中With as 的用法

一.WITH AS的含义 WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到。有的时候,是为了让SQL语句的可读性更高些,也有可能是在UNION ALL的不同部分,作为提供数据的部分。 特别对于UNION ALL比较有用。因为UNION ALL的每个部分可能相同,但是如果每个部分都去执行一遍的话...

weixin_43188881的博客 426

Hive、Oracle的with as 用法

with查询语句不是以select开始的,而是以“WITH”关键字开头,可以理解为在进行查询之前预先构造了一个临时表,之后便可多次使用它做进一步的分析和处理。 -- 基础语法 with tempName as (select ....) select ... 优点 1. 增加了SQL的易读性 --针对一个别名 with tmp as (select * from tb_name) --针对多个...

清平乐的技术专栏 1371
上一篇: C# Chrome上传附件时,直接崩溃,原因竟然是因为搜狗输入法
下一篇: C# 高级编程----序
卓炳坤
博客等级 码龄10年 33粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值