Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server from子句中select查询的优点_Sql Server - Fatal编程技术网

Sql server from子句中select查询的优点

Sql server from子句中select查询的优点,sql-server,Sql Server,与普通select子句相比,在from子句中使用select子句的优点是什么?。例如 select name, age, address from emp where empid = 12. 下面的查询比上面的查询有什么优势 select A.name, A.age, A.address from (select * from emp where empid = 12) as A. 内部查询创建临时视图,并根据该结果选择第一个查询中的字段。正确的?。但是这个问题顶部提到的查询也可以

与普通select子句相比,在from子句中使用select子句的优点是什么?。例如

select name, age, address from emp where 
 empid = 12.
下面的查询比上面的查询有什么优势

 select A.name, A.age, A.address from (select
  * from emp where empid = 12) as A.
内部查询创建临时视图,并根据该结果选择第一个查询中的字段。正确的?。但是这个问题顶部提到的查询也可以用来得到相同的结果


优势是什么?谢谢。

一种方法是使用此技术在内部查询中派生您不希望在外部查询中显示的结果。举个简单的例子,我想看看每个家庭中最年长的人,这里有一种方法:

SELECT name, age, address FROM
( 
  SELECT name, age, address, 
    rn = ROW_NUMBER() OVER (PARTITION BY address ORDER BY age DESC)
  FROM dbo.emp
) AS x
WHERE rn = 1;
这样,派生列(本质上是按年龄排列的家庭成员,最年长者优先)不需要是结果集中的列(这也便于过滤)

我相信还有很多其他的(比如不必重复复杂的表达);这只是我第一次想到的


如果你在问题中发帖,我看不出有什么好处。如果您发布了一个真实的示例,其中有人说这是一个优势,那么我们可能能够解释为什么(或者至少解释为什么他们可能会这么认为)。

一种方法是,可以使用此技术在内部查询中导出您不希望在外部查询中显示的结果。举个简单的例子,我想看看每个家庭中最年长的人,这里有一种方法:

SELECT name, age, address FROM
( 
  SELECT name, age, address, 
    rn = ROW_NUMBER() OVER (PARTITION BY address ORDER BY age DESC)
  FROM dbo.emp
) AS x
WHERE rn = 1;
这样,派生列(本质上是按年龄排列的家庭成员,最年长者优先)不需要是结果集中的列(这也便于过滤)

我相信还有很多其他的(比如不必重复复杂的表达);这只是我第一次想到的


如果你在问题中发帖,我看不出有什么好处。如果你发布了一个真实的例子,其中有人说有优势,我们可能能够解释为什么(或者至少解释为什么他们可能这么认为)。

什么让你认为有优势?什么让你认为有优势?非常感谢你的解释。非常感谢你的解释。