首页 > 代码库 > 数据库连接JOIN

数据库连接JOIN

1,连接类型及差异

INNER JOIN:结果集只有配对成功的数据,即不包含左表或右表为空的情况;

OUTER JOIN:

LEFT JOIN:结果包含左表的所有记录,右表不能成功匹配的显示NULL

RIGHT JOIN:结果包含表右的所有记录,左表不能成功匹配的显示NULL

FULL OUTER JOIN:这种连接会合并LEFT JOIN 和 RIGHT JOIN的结果,不论是否匹配,都会放到结果集中。

2,反规范化

反规范化是一种数据库优化技术,在一个或多个表中加入冗余数据。在传统的规范化数据库中,力求冗余最小,比如,course和teacher表中,每个course对应,允许yi个teacherID,但不存储teacherName,如果要获取所有course的teacherName,需要连接两个表。如果表很大的话,需要花费很长时间。因此,在反规范时允许一定的冗余。,

反规范化的优点:连接操作少,检索更快;需要查找的表少,检索简单;缺点:更新和插入开销大;更新和插入的代码更复杂;数据可能不一致;冗余意味着更大的存储空间

数据库连接JOIN