Tsql 在select for派生表中提及列名

Tsql 在select for派生表中提及列名,tsql,Tsql,我有疑问 select * from ( select * ( select User_Id,User_Name,Password from <table> T where IsActive = 1 ) k ) m 在这种情况下,是否需要在其他2条select语句中提及列名 提及专栏总比保留好* 但是,当我们从派生表中获取所选列时,上述前2个选择的实际用途是

我有疑问

select *   
from  
(  
     select *  
     (  
         select User_Id,User_Name,Password  
         from <table> T  
         where  IsActive = 1  
     ) k   
) m
在这种情况下,是否需要在其他2条select语句中提及列名

提及专栏总比保留好*


但是,当我们从派生表中获取所选列时,上述前2个选择的实际用途是什么。

不需要提及每一列,而需要执行SELECT*from。但是,如果不需要所有列,可以通过只选择所需的列进行优化:从中选择a、b、c

在没有任何计算的情况下,使用两个嵌套的SELECT*并没有任何附加值或优化。这里有一篇文章,我建议您在其中查看SQL派生表的优点部分。这里有一个很好的例子