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