sqlserver 派生表

派生表是一个查询结果生成的表,类似于临时表。

派生表可以简化查询,避免使用临时表。相比手动生成临时性能更优越。派生表与其他表一样出现在查询的FROM子句中

select * from (select * from athors) temp
temp就是派生表
Every derived table must have its own alias(每个派生表必须有自己的别名)

派生出来的表必须要是一个有效的表.因此,它必须遵守以下几条规则:

1. 所有列必须要有名称

2. 列名称必须是要唯一

3. 不允许使用ORDER BY(除非指定了TOP)

eg.

bbc国家概况表

显示每个地区以及的该地区国家总人口数不少于1000万的国家总数.

 
SELECT region, COUNT (name) FROM bbc WHERE population >= 10000000 GROUP BY region

使用派生表:

 
SELECT region, COUNT (name) FROM ( SELECT region, name FROM bbc WHERE population >= 10000000 ) temp1 GROUP BY region

or:

 
SELECT region, COUNT (name) FROM ( select name,region from bbc where population >= 10000000 ) as temp1 group by region

你可能感兴趣的:(sqlserver)