?
本文檔使用 php中文網(wǎng)手冊(cè) 發(fā)布
可以對(duì)兩個(gè)查詢的結(jié)果進(jìn)行集合操作(并、交、差)。語法是:
query1 UNION [ALL] query2 query1 INTERSECT [ALL] query2 query1 EXCEPT [ALL] query2
query1和query2是討論到該點(diǎn)的任何特性的查詢。也可以嵌套和連接設(shè)置操作,例如:
query1 UNION query2 UNION query3
它實(shí)際上等價(jià)于
(query1 UNION query2) UNION query3
UNION把query2的結(jié)果附加到query1的 結(jié)果上(不過我們不能保證這就是這些行實(shí)際的返回順序),并且像DISTINCT那樣刪除結(jié) 果中所有重復(fù)的行(除非聲明了UNION ALL)。
INTERSECT返回那些同時(shí)存在于query1和query2結(jié)果中的行。 除非聲明了INTERSECT ALL,否則所有重復(fù)行都被刪除。
EXCEPT返回所有在query1結(jié)果中但是不在query2結(jié)果中的行(有時(shí)侯 這叫做兩個(gè)查詢的差)。除非聲明了EXCEPT ALL,否則所有重復(fù)行都被刪除。
為了能夠計(jì)算兩個(gè)查詢的并、交、差,這兩個(gè)查詢必須是"并集兼容的",也就是它們都返回 同樣數(shù)量的列,并且對(duì)應(yīng)的列有兼容的數(shù)據(jù)類型,就像Section 10.5里描述的那樣。