加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sqlserver 派生表

发布时间:2020-12-12 14:23:56 所属栏目:MsSql教程 来源:网络整理
导读:派生表是一个查询结果生成的表,类似于临时表。 派生表可以简化查询,避免使用临时表。相比手动生成临时性能更优越。派生表与其他表一样出现在查询的FROM子句中 select * from (select * from athors)? temp temp?就是派生表 Every derived table must have

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

派生表可以简化查询,避免使用临时表。相比手动生成临时性能更优越。派生表与其他表一样出现在查询的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
 
 

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读