oracle-union、union all和join on用法

Oracle Union与Union All使用方法:
1. Union 指令的目的是将两个 SQL 语句的结果合并起来,可以查看你需要查询结果.
例如:
    SELECT Date FROM Store_Information  UNION  SELECT Date FROM Internet_Sales
注:union用法中,两个select语句的字段类型匹配,而且字段个数要相同
    select '1' as type,FL_ID,FL_CODE,FL_CNAME,FLDA.FL_PARENTID from FLDA WHERE ZT_ID=2006030002 union select '2' as type,XM_ID,XM_CODE ,XM_CNAME ,FL_ID from XMDA 
where exists (select * from (select FL_ID from FLDA WHERE ZT_ID=2006030002 ) a where XMDA.fl_id=a.fl_id) order by type,FL_PARENTID ,FL_IDUNION
在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。
2.UNION ALL指令的用法和union一样,只不过union含有distinct的功能,它会把两张表了重复的记录去掉,而union all不会,所以从效率上,union all 会高一点,但在实际中用到的并不是很多. 例如:    
    SELECT Date FROM Store_Information UNION ALL SELECT Date FROM Internet_Sales
Oracle Join ON使用方法:
内连接与外链接: 
内连接用于返回满足连接条件的记录;而外连接则是内连接的扩展,它不仅会满足连接条件的记录,而且还会返回不满足连接条件的记录,语法如下:    
    select table1.column,table2.column from table1 [inner|left|right|full]join table2 on table1.column=table2.column;
inner join表示内连接、left join表示左外连接、right join表示右外连接、full join表示全连接;on用于指定连接条件。
注意:如果使用from内、外连接,则必须使用on操作符指定连接条件;如果使用(+)操作符连接,则必须使用where指定连接条件。
1、内连接   内连接查询返回满足条件的所有记录,默认情况下没有指定任何连接则为内连接例如:   
     select t1.name,t2.name from cip_temps t1 inner join cip_tmp t2 on t1.ID=t2.id; 
2、左外连接    左外连接查询不仅返回满足条件的所有记录,而且还会返回不满足连接条件的连接操作符左边表的其他行,例如:    
    select t1.name,t2.name from cip_temps t1 left join cip_tmp t2 on t1.ID=t2.id;  
3、右外连接    右外连接查询不仅返回满足调价的所有记录,而且还会返回不满足连接条件的连接操作符右边表的其他行,例如:

    select t1.name,t2.name from cip_temps t1 right join cip_tmp t2 on t1.ID=t2.id;  

4、全连接    全连接查询不仅返回满足调价的所有记录,而且还会返回不满足连接条件的其他行,例如:

    select t1.name,t2.name from cip_temps t1 full join cip_tmp t2 on t1.ID=t2.id; 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31379016/viewspace-2123283/,如需转载,请注明出处,否则将追究法律责任。

猜你喜欢

转载自blog.csdn.net/qq_41586280/article/details/86502403