【发布时间】:2019-10-16 20:10:46
【问题描述】:
为 SQL 培训开发 C# 项目,并根据每个主题的培训提供不同的练习。练习之一是使用子查询编写查询。需要评估用户是否在查询语句中使用/实现了子查询。
问:编写一个 sql 查询,使用子查询显示 Sales.SalesOrderDetail 表中的 SalesOrderID,LineTotal,average LineTotal
Select SalesOrderID,LineTotal [LineTotal],
(Select AVG(LineTotal) from Sales.SalesOrderDetail) as [AverageLineTotal]
from Sales.SalesOrderDetail
[AverageLineTotal] 是一个子查询。
我们可以通过任何方式识别它吗?比如执行计划或SP来识别它在语句中有子查询
有没有办法通过执行计划来识别它??
【问题讨论】:
-
您对寻找子查询有什么特别的兴趣吗?在某些情况下,您可以使用连接重写子查询。
-
我正在给用户/学生练习在 sql 语句中使用子查询,并尝试验证他是否使用 C# 代码正确执行。
-
我认为没有复杂的 SQL 解析器,没有办法将子查询与另一个连接运算符正确区分开来。您可以尝试在 dba.stackexchange.com 中询问,也许有人可以提出一些建议。
标签: c# sql sql-server tsql