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

SQL 使用 VALUES 生成带数据的临时表实例代码详解

发布时间:2022-11-26 13:09:13 所属栏目:MsSql教程 来源:
导读:  SQL 使用 VALUES 生成带数据的临时表实例代码详解

  2022-10-27 03:40weixin_41999297

  VALUES 是 INSER 命令的子句。INSERT INOT 表名(列名1,列名2,…) VALUES(值1,值2,…)--语法:--
  SQL 使用 VALUES 生成带数据的临时表实例代码详解
 
  2022-10-27 03:40weixin_41999297
 
  VALUES 是 INSER 命令的子句。INSERT INOT 表名(列名1,列名2,…) VALUES(值1,值2,…)--语法:--SELECT * FROM (--VALUES-- (......
 
  VALUES 是 INSER 命令的子句。
 
  INSERT INOT 表名(列名1,列名2,…) VALUES(值1,值2,…)
 
  --语法:
  --SELECT * FROM (
  --VALUES
  -- (1,2,3,......)
  -- ,(1,2,3,......)
  -- ,(1,2,3,......)
  -- ,(1,2,3,......)
  -- ,(1,2,3,......)
  -- ,(1,2,3,......)
  --) AS t(c1,c2,c3......)
  SELECT * FROM (
    VALUES (123456),(123456),(123456),(123456),(123456)
  ) AS T(c1)
  试检1
 
  -- 试检1
  SELECT * FROM (
    VALUES (123456),(123456),(123456),(123456),(123456)
  ) AS T(c1)
  试检2
 
  -- 试检2 生成1个列的临时表
  select * into #tmpTable FROM (
   VALUES (123456),(123456),(123456),(123456),(123456)
  ) AS T(c1)
  试检3
 
  -- 生成5个列的临时表 #tmpTable2
  select * into #tmpTable2 FROM (
   VALUES (1,2,3,4,123456)
    ,(2,3,4,5,123456)
    ,(3,4,5,6,123456)
    ,(4,100,100,3,123456)
    ,(23,4,5,5,123456)
  ) AS T(c1,c2,c3,c4,c5)
  select * from #tmpTable2
  成功了高级一点的例子
 
  计算5列的平均值,求各Mssq临时表,最大值,最小值,计数
 
  使用values子句,将每行数据构造为只有一个字段的表,以后求最大值,非常巧妙
 
  -- 计算5列的平均值,求各,最大值,最小值,计数
  select * into #tmpTable3 FROM (
   VALUES (1,2,3,4,123456)
    ,(2,3,40000,5000,123456)
    ,(3,4222,5,6000,123456)
    ,(4,100,100,3,123456)
    ,(23,4,5,5,123456)
  ) AS T(c1,c2,c3,c4,c5)
  select a.*
   ,(select Max(NewData) from (values (C1),(C2),(C3),(C4),(C5)) as #temp(NewData)) as nMax
   ,(select Min(NewData) from (values (C1),(C2),(C3),(C4),(C5)) as #temp(NewData)) as nMai
   ,(select Sum(NewData) from (values (C1),(C2),(C3),(C4),(C5)) as #temp(NewData)) as nSum
   ,(select Avg(NewData) from (values (C1),(C2),(C3),(C4),(C5)) as #temp(NewData)) as nAvg
   ,(select count(NewData) from (values (C1),(C2),(C3),(C4),(C5)) as #temp(NewData)) as nCount
   from #tmpTable3 as a
 

(编辑:开发网_运城站长网)

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