知识大全 全联接(FULL JOIN)
Posted 知
篇首语:善行无辙迹、善言无瑕谪。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 全联接(FULL JOIN)相关的知识,希望对你有一定的参考价值。
SQL实战新手入门:全联接(FULL JOIN) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
全联接(FULL JOIN)
FULL JOIN是LEFT OUTER JOIN和RIGHT OUTER JOIN的组合 如图 所示
图
下面的查询将给出包含所有图书和所有书柜位置的数据集 其中一些图书位于书架的同一层上 该查询与之前的查询在结构上是相同的 只是这里使用了FULL JOIN查询
SELECT
loc_shelf
loc_position_left
bk_title
FROM location FULL JOIN books
ON location fk_bk_loc = books bk_id
由于现在从左表和右表都返回记录 因此哪一个表作为左表 哪一个表作为右边已经不再重要 表 列出了该查询结果中的变化
表 FULL JOIN查询返回的结果
在上面的例子中 由于参照完整性约束(关于参照完整性的详细内容请参见第 章) LOCATION表中不能存在不匹配的记录 因此必须交换左表和右表的位置并应用不同类型的联接 在很多情况下 JOIN条件与主键/外键关系并不相同 这时将获得包含来自左右两个表中匹配和不匹配记录的数据集
例如 如果在一个列上联接两个表 而该列既不是主键也不是外键(例如BK_ID = LOC_POSITION_LEFT) 那么结果集中不匹配的LOCATION记录将包含大量的NULL值 因为LOC_POSITION_LEFT仅具有 个不同的值 而BK_ID具有 个值(这将返回 个NULL值) 尽管这是一个有效的SQL操作 但是从逻辑的角度来看该查询并没有太大的意义 用它来演示OUTERJOIN的概念则再好不过
现在已经不再需要这条多余的记录 可以安全地将其从BOOKS表中删除
DELETE books WHERE bk_id= ;
在JOIN的例子中 关键字OUTER是可选的 也可以简单地使用LEFT RIGHT或者FULL 对于INNER JOIN也是如此 RDBMS认为不带任何限定符的JOIN是INNER JOIN类型 然而 使用限定符是一个良好的SQL实践 相对于不带限定符的JOIN来说 它使SQL代码具有更好的可维护性
返回目录 SQL实战新手入门
编辑推荐
Oracle索引技术
高性能MySQL
cha138/Article/program/SQL/201311/16469相关参考
SQL实战新手入门:内联接(INNERJOIN)(1) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧
SQL实战新手入门:内联接(INNERJOIN)(2) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧
SQL实战新手入门:左联接(LEFTOUTERJOIN) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下
SQL实战新手入门:右联接(RIGHTOUTERJOIN) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一
SQL实战新手入门:再探JOIN 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 第章组合数据集
Java多线程初学者指南(5):join方法的使用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
关于C#中Thread.Join()的一点理解 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 今
SQL实战新手入门:N路INNERJOIN 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! N路I
(list[delimiter]) 参数描述 listRequiredAonedimensionalarraythatcontainsthesubstringstobejoined 必选项包
数据库学习:MySQLJoin详解 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 还是先Crea