有哪位高手讲一下在SQL中,UNION的作用以及用法,最好有个例子

解决方案 »

  1.   

    网上抄的,你自己去试试:UNION运算符可以将两个或两个以上上SELECT语句的查询结果集合合并成一个结果集合显示,即执行联 合查询。UNION的语法格式为: select_statement UNION [ALL] selectstatement [UNION [ALL] selectstatement][…n] 
    其中selectstatement为待联合的SELECT查询语句。 ALL选项表示将所有行合并到结果集合中。不指定该项时,被联合查询结果集合中的重复行将只保留一行。
      联合查询时,查询结果的列标题为第一个查询语句的列标题。因此,要定义列标题必须在第一个查询语句中定义。要对联合查询结果排序时,也必须使用第一查询语句中的列名、列标题或者列序号。
      在使用UNION 运算符时,应保证每个联合查询语句的选择列表中有相同数量的表达式,并且每个查询选 择表达式应具有相同的数据类型,或是可以自动将它们转换为相同的数据类型。在自动转换时,对于数值类 型,系统将低精度的数据类型转换为高精度的数据类型。 在包括多个查询的UNION语句中,其执行顺序是自左至右,使用括号可以改变这一执行顺序。
    例如: 查询1 UNION (查询2 UNION 查询3)
      

  2.   

    UNION 指令的目的是将两个 SQL 语句的结果合并起来。从这个角度来看, UNION 跟 JOIN 有些许类似
    UNION 的语法如下: [SQL 语句 1]
    UNION
    [SQL 语句 2] 假设我们有以下的两个表格, Store_Information 表格
    store_name  Sales  Date  
    Los Angeles  $1500  Jan-05-1999  
    San Diego  $250  Jan-07-1999  
    Los Angeles  $300  Jan-08-1999  
    Boston  $700  Jan-08-1999   
    Internet Sales 表格 Date  Sales  
    Jan-07-1999  $250  
    Jan-10-1999  $535  
    Jan-11-1999  $320  
    Jan-12-1999  $750  
     
    而我们要找出来所有有营业额 (sales) 的日子。要达到这个目的,我们用以下的 SQL 语句: SELECT Date FROM Store_Information
    UNION
    SELECT Date FROM Internet_Sales
      

  3.   


    UNION 指令的目的是将两个 SQL 语句的结果合并起来。从这个角度来看, UNION 跟 JOIN 有些许类似,因为这两个指令都可以由多个表格中撷取资料。 UNION 的一个限制是两个 SQL 语句所产生的栏位需要是同样的资料种类。另外,当我们用 UNION这个指令时,我们只会看到不同的资料值 (类似 SELECT DISTINCT)。 UNION 的语法如下: [SQL 语句 1]
    UNION
    [SQL 语句 2] 假设我们有以下的两个表格, Store_Information 表格
    store_name  Sales  Date  
    Los Angeles  $1500  Jan-05-1999  
    San Diego  $250  Jan-07-1999  
    Los Angeles  $300  Jan-08-1999  
    Boston  $700  Jan-08-1999   
    Internet Sales 表格 Date  Sales  
    Jan-07-1999  $250  
    Jan-10-1999  $535  
    Jan-11-1999  $320  
    Jan-12-1999  $750  
     
    而我们要找出来所有有营业额 (sales) 的日子。要达到这个目的,我们用以下的 SQL 语句: SELECT Date FROM Store_Information
    UNION
    SELECT Date FROM Internet_Sales 结果: Date 
    Jan-05-1999 
    Jan-07-1999 
    Jan-08-1999 
    Jan-10-1999 
    Jan-11-1999 
    Jan-12-1999