zoukankan      html  css  js  c++  java
  • Union ,Union ALL的用法

    在项目中遇见到查询参考此报价地区的地区信息,并且把此地区的信息与查询出来的参考报价地区信息组成一张临时表,这用到UNION 或则UNION all,

    SQL 代码如下:

    SQL 1
    1 CREATE TYPE TY_AreaANDGoods AS TABLE(
    2 AreaID INT,
    3 TypeID INT
    4 )
    5 DECLARE @dt TY_AreaANDGoods;
    6 INSERT INTO @dt VALUES(1,1);
    7 SELECT aa.AreaId,aa.GoodsTypeId FROM MD_Area aa,@dt tt WHERE aa.QuotationType =tt.AreaID AND aa.GoodsTypeId = tt.TypeID
    8 UNION
    9 SELECT AreaID,TypeID FROM @dt

    我创建表值变量类型,并声明此类型的变量,用此变量来传递数据,然后利用UNION来实现功能要求。

    用UNION需要注意:

    1、所有UNION的查询必须在SELECT 列表项中有相同的列数。

    2、UNION查询的结果级的列标题仅从第一个查询处获得。

    3、查询中对应咧的数据类型必须隐式一致。

    4、UNION查询的默认返回选项为Distinct。

    SQL 2
     1 CREATE TABLE tb_test
    2 (
    3 col INT IDENTITY(1,1),
    4 Name char(10)
    5 )
    6 CREATE TABLE tb_test2
    7 (
    8 COL INT IDENTITY(1,1),
    9 Name NVARCHAR(20)
    10 )
    11 CREATE TABLE tb_Test3(
    12 COL INT IDENTITY(1,1),
    13 Name nvarchar(10)
    14 )
    15 INSERT INTO tb_test VALUES('AAA');
    16 INSERT INTO tb_test VALUES('BBB');
    17 INSERT INTO tb_test2 VALUES('CCCCCCCCCCCCC');
    18 INSERT INTO tb_test2 VALUES('CCCCCCCCCCCCCCCCCCC');
    19 INSERT INTO tb_test2 VALUES('AAA');
    20 INSERT INTO tb_Test3 VALUES('DDD');
    21 INSERT INTO tb_Test3 VALUES('FFF');
    22 SELECT Name FROM tb_test
    23 UNION
    24 SELECT Name FROM tb_test2
    25 UNION
    26 SELECT Name FROM tb_Test3


    可以看到查询处的结果已经经过DISTINCT处理,如果想全部显示需要做如下改变:

    sql 3
    1 SELECT Name  AS TEST FROM tb_test
    2 UNION ALL
    3 SELECT Name FROM tb_test2
    4 UNION ALL
    5 SELECT Name FROM tb_Test3



  • 相关阅读:
    从0开始学Swift笔记整理(二)
    从0开始学Swift笔记整理(一)
    JAVA反射机制
    Spring基础知识汇总
    关于类和对象的进一步讨论 C++
    C++ 共用体 枚举类型 所有
    自定义数据类型 C++ 结构体类型 共同体类型 枚举类型 类类型{}
    C++ 指针 引用 变量引用
    函数和指针 C++
    C++字符串与指针 所有的内容也就这么多了。
  • 原文地址:https://www.cnblogs.com/hfliyi/p/2378721.html
Copyright © 2011-2022 走看看