gpt4 book ai didi

sql - 什么是公用表表达式?

转载 作者:行者123 更新时间:2023-12-04 05:03:43 25 4
gpt4 key购买 nike

WITH Extracted_Sessions ( a,b ) AS 
(
select a,b from db.tblnm
)

这个 SQL 有什么作用?有人可以解释一下吗?

最佳答案

这称为“公用表表达式”。如果我没记错的话,这是在 SQL 99 中引入的 SQL 特性。

它与派生表非常相似。你的例子相当于

select a,b
from (
select a,b from db.tblnm
) as Extracted_Sessions

主要区别在于您可以在查询中多次使用 CTE,而对于派生表,您需要每次重复基础查询,例如:
WITH Extracted_Sessions ( a,b ) AS 
(
select a,b from db.tblnm
)
select *
from Extracted_Sessions e1
join Extracted_Sessions e2 on e1.a = e.2b

(注意这可能没有意义,这只是为了证明您可以多次访问 CTE)。

Postgres 手册有一个关于 CTE 的很好的教程: http://www.postgresql.org/docs/current/static/queries-with.html

关于sql - 什么是公用表表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15796733/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com