gpt4 book ai didi

SELECT 语句的 SQL 别名

转载 作者:行者123 更新时间:2023-12-03 10:23:39 28 4
gpt4 key购买 nike

我想做类似的事情

(SELECT ... FROM ...) AS my_select
WHERE id IN (SELECT MAX(id) FROM my_select GROUP BY name)

是否有可能以某种方式执行“AS my_select”部分(即为 SELECT 语句分配别名)?

(注意:这是一个理论问题。我意识到我可以在不为 SELECT 语句分配别名的情况下做到这一点,但我想知道我是否可以做到这一点。)

最佳答案

不确定您尝试用该语法确切表示什么,但在几乎所有 RDBMS 中,您都可以在 FROM 子句中使用子查询(有时称为“内联 View ”):

SELECT..
FROM (
SELECT ...
FROM ...
) my_select
WHERE ...

在高级“企业”RDBMS-es(如oracle、SQL Server、postgresql)中,您可以使用通用表表达式,它允许您按名称引用查询并甚至多次重用它:
-- Define the CTE expression name and column list.
WITH Sales_CTE (SalesPersonID, SalesOrderID, SalesYear)
AS
-- Define the CTE query.
(
SELECT SalesPersonID, SalesOrderID, YEAR(OrderDate) AS SalesYear
FROM Sales.SalesOrderHeader
WHERE SalesPersonID IS NOT NULL
)
-- Define the outer query referencing the CTE name.
SELECT SalesPersonID, COUNT(SalesOrderID) AS TotalSales, SalesYear
FROM Sales_CTE
GROUP BY SalesYear, SalesPersonID
ORDER BY SalesPersonID, SalesYear;

(来自 http://msdn.microsoft.com/en-us/library/ms190766(v=sql.105).aspx 的示例)

关于SELECT 语句的 SQL 别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11479044/

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