sql語句取交集 Oracle求兩個結(jié)果集的交集?
Oracle求兩個結(jié)果集的交集?從表1a,表2B中選擇a.id,a.name其中substr(a.name,1,1)=b.value使用union all可以實現(xiàn)Oracle中union和union
Oracle求兩個結(jié)果集的交集?
從表1a,表2B中選擇a.id,a.name
其中substr(a.name,1,1)=b.value
使用union all可以實現(xiàn)Oracle中union和union all之間的差異。如果需要整體顯示兩個select語句的結(jié)果,則需要使用關(guān)鍵字Union或Union all。Union(或Union)的功能是同時顯示多個結(jié)果。union和union all的區(qū)別在于union將自動壓縮多個結(jié)果集中的重復(fù)結(jié)果,而union all將顯示所有結(jié)果,無論它們是否重復(fù)。并集:兩個結(jié)果集的并集,排除重復(fù)行,按默認(rèn)規(guī)則排序;全并集:兩個結(jié)果集的并集運算,包括重復(fù)行,不排序;相交:兩個結(jié)果集的交集運算,排除重復(fù)行,按默認(rèn)規(guī)則排序;減:兩個結(jié)果集的差分運算,排除重復(fù)行,按默認(rèn)規(guī)則排序??梢栽谧詈笠粋€結(jié)果集中指定ORDERBY子句來更改排序。Union和Union all關(guān)鍵字的問題是Union和Union all都可以合并多個結(jié)果集,而不僅僅是兩個??梢詫⒍鄠€結(jié)果集串在一起。使用Union和Union all,必須確保每個選擇集的結(jié)果具有相同的列數(shù),并且每列的類型相同。但是列名不需要相同。Oracle將第一個結(jié)果的列名作為結(jié)果集的列名?! ?/p>