一个联接组合来自正好两个行源的输出,如表或视图,并返回一个行源。返回的行源是数据集。
连接的特征是SQL语句的WHERE(non-ANSI)或FROM ... JOIN(ANSI)子句中有多个表。只要FROM子句中存在多个表,Oracle数据库就会执行联接。
通过连接条件进行比较使用表达两个行源。连接条件定义了表之间的关系。如果该语句未指定联接条件,则数据库执行笛卡尔联接,将一个表中的每一行与另一表中的每一行匹配。
9.1.1连接树
通常,联接树表示为上下颠倒的树结构。
如下图所示,table1是左表,table2也是右表。优化器从左到右处理联接。例如,如果此图形描绘了嵌套循环联接,table1则为外循环,table2为内循环。
联接的输入可以是先前联接的结果集。如果联接树的每个内部节点的右子节点是一个表,则该树是左深度联接树,如以下示例所示。大多数连接树都是深连接。
如果联接树的每个内部节点的左子节点是一个表,则该树称为右深联接树,如下图所示。
如果联接树的内部节点的左或右子级可以是联接节点,则该树称为丛生联接树。在以下示例中,table4是联接节点的右子节点,table1是联接节点的左子节点,并且table2是联接节点的左子节点。
在又一个变型中,联接的两个输入都是先前联接的结果。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




