唉,可憐呀,用了這么久的SQL今天頭一次用到外連接,效果不錯,方法如下:
使用外聯(lián)接
僅當(dāng)至少有一個同屬于兩表的行符合聯(lián)接條件時,內(nèi)聯(lián)接才返回行。內(nèi)聯(lián)接消除與另一個表中的任何行不匹配的行。而外聯(lián)接會返回FROM子句中提到的至少一個表或視圖的所有行,只要這些行符合任何Where或HAVING搜索條件。將檢索通過左向外聯(lián)接引用的左表的所有行,以及通過右向外聯(lián)接引用的右表的所有行。完整外部聯(lián)接中兩個表的所有行都將返回。
Microsoft®SQLServer™2000對在FROM子句中指定的外聯(lián)接使用以下SQL-92關(guān)鍵字:
LEFTOUTERJOIN或LEFTJOIN
RIGHTOUTERJOIN或RIGHTJOIN
FULLOUTERJOIN或FULLJOIN
SQLServer支持SQL-92外聯(lián)接語法,以及在Where子句中使用*=和=*運算符指定外聯(lián)接的舊式語法。由于SQL-92語法不容易產(chǎn)生歧義,而舊式Transact-SQL外聯(lián)接有時會產(chǎn)生歧義,因此建議使用SQL-92語法。
使用完整外部聯(lián)接
若要通過在聯(lián)接結(jié)果中包括不匹配的行保留不匹配信息,請使用完整外部聯(lián)接。Microsoft®SQLServer™2000提供完整外部聯(lián)接運算符FULLOUTERJOIN,不管另一個表是否有匹配的值,此運算符都包括兩個表中的所有行