【问题标题】:Nested Subquery vs Derived table嵌套子查询与派生表
【发布时间】:2021-11-03 22:45:07
【问题描述】:

我正在学习 SQL Server,并且在嵌套子查询与使用 from 子句的派生表之间存在疑问。 使用 from 子句的嵌套子查询示例。 示例取自链接:https://www.tutorialgateway.org/sql-subquery/

USE [SQL Tutorial]
GO

SELECT subquery.FirstName + ' ' + subquery.LastName AS [Full Name]
    ,subquery.[Occupation]
    ,subquery.[YearlyIncome]
    ,subquery.[Sales]
FROM (
    SELECT [Id]
        ,[FirstName]
        ,[LastName]
        ,[Education]
        ,[Occupation]
        ,[YearlyIncome]
        ,[Sales]
    FROM [Employee Table]
    WHERE [Sales] > 500
    ) AS [subquery]

使用 from 子句的派生表示例。 示例取自链接:https://www.tutorialgateway.org/sql-derived-table/

USE [SQLTEST]
GO

SELECT *
FROM (
    SELECT [EmpID]
        ,[FirstName]
        ,[LastName]
        ,[Education]
        ,[YearlyIncome]
        ,[Sales]
        ,[DeptID]
    FROM [EmployeeDetails]
    ) AS [Derived Employee Details]
WHERE [Sales] > 500

是什么使嵌套子查询与派生表不同。 感谢您的宝贵时间。

【问题讨论】:

  • 他们是一样的吗?您的 2 个查询有什么不同?嵌套子查询IS是一个派生表。
  • 根据您的教程“SQL 派生表只不过是 From 子句中使用的子查询。”

标签: sql-server tsql subquery derived-table


【解决方案1】:

派生表是专门用于from 子句的子查询,它返回具有任意数量的列和行的结果集。

子查询更通用,指的是任何查询中的查询。例如,一种类型的子查询是标量子查询。这样的子查询最多返回一行和一列。它可以用于selectwhere(以及其他一些可以使用标量值的地方)。 from 子句中也可以使用标量子查询。

【讨论】:

    猜你喜欢
    • 2011-07-16
    • 2015-06-16
    • 2018-02-21
    • 2014-12-16
    • 1970-01-01
    • 2016-08-05
    • 1970-01-01
    • 2019-05-30
    • 1970-01-01
    相关资源
    最近更新 更多