在 select 的列区域中使用聚合的列分配有什么作用?

What does a column assignment using an aggregate in the columns area of a select do?

我正在尝试破译另一个早已消失的程序员的代码,我在存储过程中遇到了一个 select 语句,看起来像这样(简化)示例:

SELECT #Table2.Col1, Table2.Col2, Table2.Col3, MysteryColumn = CASE WHEN y.Col3 IS NOT NULL THEN #Table2.MysteryColumn - y.Col3 ELSE #Table2.MysteryColumn END
    INTO #Table1
    FROM #Table2
        LEFT OUTER JOIN (
            SELECT Table3.Col1, Table3.Col2, Col3 = SUM(#Table3.Col3)
            FROM Table3
                INNER JOIN #Table4 ON Table4.Col1 = Table3.Col1 AND Table4.Col2 = Table3.Col2
                GROUP BY Table3.Col1, Table3.Col2
        ) AS y ON #Table2.Col1 = y.Col1 AND #Table2.Col2 = y.Col2
    WHERE #Table2.Col2 < @EnteredValue

我的问题是,主要 selection 的第四列是做什么的?它会产生一个布尔值检查以查看值是否相等吗?还是将#Table2.MysteryColumn 设置为某个值,然后将其插入#Table1?或者它只是更新 #Table2.MysteryColumn 而不是将值输出到 #Table1?

第三列的子查询中似乎也发生了同样的事情,我也同样不知所措。

MysteryColumn = 为表达式提供一个名称,也称为列别名。 table#2 中的一列也具有相同的名称这一事实是无关紧要的。

由于它使用 INTO 语法,因此它还在生成的临时 table 中为该列指定名称。参见 SELECT CLAUSE and note | column_alias = expression and the INTO CLAUSE