访问和更改关系数据,使用MSSQL外联接
程序员文章站
2023-08-23 13:09:18
唉,可怜呀,用了这么久的sql今天头一次用到外连接,效果不错,方法如下: 使用外联接 仅当至少有一个同属于两表的行符合联接条件时,内联接才返回行。内联接消除与另一个表中的任...
唉,可怜呀,用了这么久的sql今天头一次用到外连接,效果不错,方法如下:
使用外联接
仅当至少有一个同属于两表的行符合联接条件时,内联接才返回行。内联接消除与另一个表中的任何行不匹配的行。而外联接会返回 from 子句中提到的至少一个表或视图的所有行,只要这些行符合任何 where 或 having 搜索条件。将检索通过左向外联接引用的左表的所有行,以及通过右向外联接引用的右表的所有行。完整外部联接中两个表的所有行都将返回。
microsoft® sql server™ 2000 对在 from 子句中指定的外联接使用以下 sql-92 关键字:
left outer join 或 left join
right outer join 或 right join
full outer join 或 full join
sql server 支持 sql-92 外联接语法,以及在 where 子句中使用 *= 和 =* 运算符指定外联接的旧式语法。由于 sql-92 语法不容易产生歧义,而旧式 transact-sql 外联接有时会产生歧义,因此建议使用 sql-92 语法。
使用完整外部联接
若要通过在联接结果中包括不匹配的行保留不匹配信息,请使用完整外部联接。microsoft® sql server™ 2000 提供完整外部联接运算符 full outer join,不管另一个表是否有匹配的值,此运算符都包括两个表中的所有行
使用外联接
仅当至少有一个同属于两表的行符合联接条件时,内联接才返回行。内联接消除与另一个表中的任何行不匹配的行。而外联接会返回 from 子句中提到的至少一个表或视图的所有行,只要这些行符合任何 where 或 having 搜索条件。将检索通过左向外联接引用的左表的所有行,以及通过右向外联接引用的右表的所有行。完整外部联接中两个表的所有行都将返回。
microsoft® sql server™ 2000 对在 from 子句中指定的外联接使用以下 sql-92 关键字:
left outer join 或 left join
right outer join 或 right join
full outer join 或 full join
sql server 支持 sql-92 外联接语法,以及在 where 子句中使用 *= 和 =* 运算符指定外联接的旧式语法。由于 sql-92 语法不容易产生歧义,而旧式 transact-sql 外联接有时会产生歧义,因此建议使用 sql-92 语法。
使用完整外部联接
若要通过在联接结果中包括不匹配的行保留不匹配信息,请使用完整外部联接。microsoft® sql server™ 2000 提供完整外部联接运算符 full outer join,不管另一个表是否有匹配的值,此运算符都包括两个表中的所有行