DOWS 在 T-SQL 中的含义

ige*_*elr 0 sql-server t-sql

我正在读一本书,其中显示了这个例子

SELECT wait_type ,
SUM(wait_time_ms / 1000) AS [wait_time_s]
FROM sys.dm_os_wait_stats DOWS
WHERE wait_type NOT IN ( 'SLEEP_TASK', 'BROKER_TASK_STOP',
'SQLTRACE_BUFFER_FLUSH', 'CLR_AUTO_EVENT',
'CLR_MANUAL_EVENT', 'LAZYWRITER_SLEEP' )
GROUP BY wait_type
ORDER BY SUM(wait_time_ms) DESC
Run Code Online (Sandbox Code Playgroud)

我想知道 FROM 语句旁边的关键字 DOWS 的确切作用(含义)。我试图搜索,但没有找到任何有用的东西。谢谢你的时间!

Pau*_*ite 7

它是该条款table_alias文档中所示FROM

[ 来自 { } [ ,...n ] ]   
 ::=   
{  
    table_or_view_name [ [ AS ] table_alias ]   
        [ ]   
        [ WITH ( [ [ , ]...n ] ) ]   
    | rowset_function [ [ AS ] table_alias ]   
        [(bulk_column_alias [,...n])]   
    | user_defined_function [ [ AS ] table_alias ]  
    | 开放式XML    
    | 派生表 [ [ AS ] 表别名] [ ( column_alias [ ,...n ] ) ]   
    |    
    |    
    |   
    | @variable [ [ AS ] table_alias ]  
    | @variable.function_call ( 表达式 [ ,...n ] )   
        [[AS] table_alias] [(column_alias [,...n])]  
    | FOR SYSTEM_TIME    
}  

如果代码作者选择使用 optionalAS关键字,并在查询中的其他地方使用别名,那就更清楚了:

SELECT 
    DOWS.wait_type,
    SUM(DOWS.wait_time_ms / 1000) AS [wait_time_s]
FROM sys.dm_os_wait_stats AS DOWS
WHERE 
    DOWS.wait_type NOT IN 
    ( 
        'SLEEP_TASK', 'BROKER_TASK_STOP',
        'SQLTRACE_BUFFER_FLUSH', 'CLR_AUTO_EVENT',
        'CLR_MANUAL_EVENT', 'LAZYWRITER_SLEEP' 
    )
GROUP BY 
    DOWS.wait_type
ORDER BY 
    SUM(DOWS.wait_time_ms) DESC;
Run Code Online (Sandbox Code Playgroud)