码农的笔记

Delphi虽好,但已不流行; 博客真好,可以做笔记

博客园 首页 新随笔 联系 订阅 管理

 

 

 

1 --这样是不行的
2 select sys.dm_exec_sql_text(most_recent_sql_handle) from   sys.dm_exec_connections
3 
4 --这个可以
5 select text from sys.dm_exec_connections a CRoss apply sys.dm_exec_sql_text(a.most_recent_sql_handle)

select text  from sys.dm_exec_connections a outer apply sys.dm_exec_sql_text(a.most_recent_sql_handle)

 

-------------资料来源:https://bbs.csdn.net/topics/320027759

透过执行计划可以看出,cross apply类似不带where条件的连接即Inner join 。形式上会灵活些.
使用 APPLY 运算符可以为实现查询操作的外部表表达式返回的每个行调用表值函数。表值函数作为右输入,外部表表达式作为左输入
。通过对右输入求值来获得左输入每一行的计算结果,生成的行被组合起来作为最终输出。APPLY 运算符生成的列的列表是左输入中
的列集,后跟右输入返回的列的列表。
APPLY 有两种形式: CROSS APPLY 和 OUTER APPLY。CROSS APPLY 仅返回外部表中通过表值函数生成结果集的行。OUTER APPLY 既返
回生成结果集的行,也返回不生成结果集的行,其中表值函数生成的列中的值为 NULL。

 

posted on 2022-04-08 13:57  码农的笔记  阅读(328)  评论(0编辑  收藏  举报