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_ID
这个句子的意思是将两个sql语句union查询出往,查询的前提就是看XMDA表中的FL_ID能可战主表FLDA里的FL_ID值相匹配,(也就是存正在).
UNION正在进止表链接后会选择掉落踪反复的记载,所以正在表链接后会对所产生的成效集进止排序运算,删除反复的记载再返回成效。
2. 正在查询中会碰到 UNION
ALL,它的用法战union一样,只没有外union露有distinct的功能,它会把两张表了反复的记载往掉落踪,
而union all没有会,所以从从命上,union all 会高一点,但正在实践中用到的并非许多.
表头会用第一个跟尾块的字段
而UNION
ALL只是简单的将两个成效回并后就返回。这样,假定返回的两个成效调集有反复的数据,那末返回的成效集就会搜罗反复的数据了。
从从命上讲,UNION ALL
要比UNION快许多,所以,假定可以确认回并的两个成效调集没有搜罗反复的数据的话,那末就利用UNION ALL,以下:
尽管利用union all,果为union需求进止排序,往除反复记载,从命低。