联接可分为以下几类:
1.交叉联接
又称作非限制联接,也叫笛卡尔积。交叉联接从两个表中任取一条记录拼接成结果集中的一条记录。结果集中的列为SELECT子句中列出的两个表属性列。交叉联接的结果集中会产生一些没有用的记录,所以该运算很少使用。
在FROM子句中可以使用CROSS JOIN关键字来指定交叉联接。
2.内部联接
内部联接也叫内联接,是典型的联接运算。内部联接将两个表中符合联接条件的两个记录拼接成结果集中的一条记录。结果集中的列为SELECT子句中列出的两个表属性列。
内部联接包括等值联接和自然联接。
在FROM子句中可以使用[INNER] JOIN关键字来指定内部联接。
3.外部联接(www.xing528.com)
外部联接也叫外联接。
外部联接包括左向外部联接、右向外部联接和完整外部联接。
左向外部联接不但将两个表中符合联接条件的两个记录拼接成结果集中的一条记录,还将左表中不符合联接条件的记录也与右表拼接,此时右表的列中填充NULL值。结果集中的列为SELECT子句中列出的两个表属性列。
在FROM子句中可以使用LEFT[OUTER] JOIN关键字来指定左向外部联接。
右向外部联接不但将两个表中符合联接条件的两个记录拼接成结果集中的一条记录,还将右表中不符合联接条件的记录也与左表拼接,此时左表的列中填充NULL值。结果集中的列为SELECT子句中列出的两个表属性列。
在FROM子句中可以使用RIGHT[OUTER] JOIN关键字来指定右向外部联接。
完整外部联接是内部联接、左向外部联接和右向外部联接的并集。它不但将两个表中符合联接条件的两个记录拼接成结果集中的一条记录,还将左表中不符合联接条件的记录与右表拼接,此时右表的列中填充NULL值,同时还将右表中不符合联接条件的记录也与左表拼接,此时左表的列中填充NULL值。结果集中的列为SELECT子句中列出的两个表属性列。
在FROM子句中可以使用FULL[OUTER] JOIN关键字来指定完整外部联接。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。