zoukankan      html  css  js  c++  java
  • (4.47)sql server 中的 values 构造临时表

    【1】构造临时表的几种办法

    【1.1】CTE

    我们一般构造临时表,都要用CTE递归(但这比较适合大数据量)

    我们要小数据量构造临时表,我以前经常用的是 

    ;with as temp(
    select 1 as id1 ,2 as id2 union all
    select 3 as id1 ,4 as id2 
    )
    select * from temp

    【1.2】真实生成临时表( select * into from table )

    select 1 as id1 ,2 as id2 into #temp1 
    union all
    select 3 as id1 ,4 as id2 
    
    select * from #temp1

    【1.3】VALUES

    VALUES 用得最多,最常见的就是 

    INSER INOT 表名(列名1,列名2,......) VALUES(值1,值2,......)

    ----------------------------------------------------------------------------

    另外一种用法:

    使用 values 返回临时表。

    ----------------------------------------------------------------------------

    --语法:
    
    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(1,1),
        (1,2) 
    ) t(id1,id2)

      

    ----------------------------------------

    需要注意地方:列数量 要与  ” Values(.....)” ,小括号中的列的数量一样,并且“()”是作为一组数据,也就是一行数据,所以,每个小括号里面的列数量也要一样。

    其实还有其他办法,比如派生表  select * from (select a from table where a<100)......

    这里就不一一举例了,把常用的拿出来就OK拉。

  • 相关阅读:
    hibernate 使用hibernate 的注解做多对一双向映射
    JBPM学习笔记
    在测试Hibernate的一对多双向关联映射时
    js定时三秒后自动跳转页面
    struts2 的验证框架
    hibernate 双向一多对关联 删除一端时级联删除多端
    JPA 一些常用的东西
    Python 基础语法
    设计一个带有getmin功能的栈,保证时间复杂度在O(1)
    数据结构栈模拟队列
  • 原文地址:https://www.cnblogs.com/gered/p/13535012.html
Copyright © 2011-2022 走看看