189得票7回答
CTE和临时表有什么区别呢?

什么是通用表达式(CTE)和临时表之间的区别?在何时应该使用其中之一而不是另一个? CTE WITH cte (Column1, Column2, Column3) AS ( SELECT Column1, Column2, Column3 FROM SomeTable )...

23得票1回答
使用CREATE TABLE AS SELECT语句时,如何指定WITH条件(CTE)?

在PostgreSQL中有一个旧的和已弃用的命令,它比CREATE TABLE AS SELECT (CTAS)更早,被称为SELECT ... INTO .... FROM,它支持WITH子句/公共表达式(CTE)。因此,例如,我可以这样做... WITH w AS ( SELECT ...

22得票2回答
为什么在CTE中插入的行不能在同一语句中更新?

在 PostgreSQL 9.5 中,给出了一个使用以下代码创建的简单表: create table tbl ( id serial primary key, val integer ); 我在同一条语句中运行SQL来插入一个值,然后更新它。 WITH newval A...

22得票4回答
SQL递归实际上是如何工作的?

从其他编程语言转到SQL,递归查询的结构看起来相当奇怪。一步一步地进行解析,它似乎会崩溃。 考虑以下简单示例: CREATE TABLE #NUMS (N BIGINT); INSERT INTO #NUMS VALUES (3), (5), (7); WITH R AS ( ...

21得票3回答
通用表达式(CTE)的好处是什么?

从msdn中得知: 与派生表不同,CTE可以自引用,并且可以在同一查询中多次引用。 我经常使用CTE,但从未深入思考过使用它们的好处。 如果我在同一查询中多次引用CTE: - 是否有性能上的好处? - 如果我进行自连接,SQL Server会扫描目标表两次吗?

19得票5回答
创建一个计划指南来缓存(延迟读取)CTE结果

我通常通过先构建一个使用正确计划的查询,然后将其复制到不同的类似查询中来创建计划指南。然而,这有时候会很棘手,特别是如果查询并不完全相同。从头开始创建计划指南的正确方法是什么? SQLKiwi提到在SSIS中绘制计划,是否有一种方法或有用的工具可以帮助规划好SQL Server的计划? 具...

18得票1回答
如何以展开的树状方式对递归查询结果进行排序?

假设你有一个像这样的nodes表: CREATE TABLE nodes ( node serial PRIMARY KEY, parent integer NULL REFERENCES nodes(node), ts timestamp NOT NULL DEFA...

17得票2回答
使用递归公共表达式(CTE)来查找所有子节点的总和。

这里有一个装配树,我想使用递归的T-SQL查询(可能是CTE)来搜索,并得到以下预期结果。我想知道给定任何零件时,每个装配的总数量。 也就是说,如果我搜索“铆钉”,我想知道在装配中每个级别的总数,而不仅仅是直接子级的数量。 Assembly (id:1) | |-Rivet...

17得票2回答
当从CTE内部调用时,PostgreSQL函数不会被执行。

只是希望确认我的观察,并获得关于为什么会发生这种情况的解释。 我定义了一个函数: CREATE OR REPLACE FUNCTION "public"."__post_users_id_coin" ("coins" integer, "userid" integer) RETURNS T...