访问和更改关系数据,使用MSSQL外联接

时间:2022-06-01 16:49:55

唉,可怜呀,用了这么久的SQL今天头一次用到外连接,效果不错,方法如下:

使用外联接

仅当至少有一个同属于两表的行符合联接条件时,内联接才返回行。内联接消除与另一个表中的任何行不匹配的行。而外联接会返回FROM子句中提到的至少一个表或视图的所有行,只要这些行符合任何Where或HAVING搜索条件。将检索通过左向外联接引用的左表的所有行,以及通过右向外联接引用的右表的所有行。完整外部联接中两个表的所有行都将返回。

Microsoft®SQLServer™2000对在FROM子句中指定的外联接使用以下SQL-92关键字:

LEFTOUTERJOIN或LEFTJOIN

RIGHTOUTERJOIN或RIGHTJOIN

FULLOUTERJOIN或FULLJOIN

SQLServer支持SQL-92外联接语法,以及在Where子句中使用*=和=*运算符指定外联接的旧式语法。由于SQL-92语法不容易产生歧义,而旧式Transact-SQL外联接有时会产生歧义,因此建议使用SQL-92语法。

使用完整外部联接

若要通过在联接结果中包括不匹配的行保留不匹配信息,请使用完整外部联接。Microsoft®SQLServer™2000提供完整外部联接运算符FULLOUTERJOIN,不管另一个表是否有匹配的值,此运算符都包括两个表中的所有行