一、外连接
外联接可以是左向外联接、右向外联接或完整外部联接。
1,左外连接(left join or left outer join)
左向外联接的结果集包括 LEFT OUTER 子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。
e.g.
SELECT i.*, c.country_name, s.state_name FROM jos_vm_agent_info i
left JOIN jos_vm_country c ON (i.country=c.country_3_code OR i.country=c.country_2_code)
LEFT JOIN jos_vm_state s ON (i.state=s.state_2_code AND s.country_id=c.country_id)
WHERE i.user_id = 380
2,右外连接(right join or right outer join)
右向外联接是左向外联接的反向联接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值
3,完全连接(full join or full outer join)
完整外部联接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。
二,内连接
仅当至少有一个同属于两表的行符合联接条件时,内联接才返回行。内联接消除与另一个表中的任何行不匹配的行。而外联接会返回 FROM 子句中提到的至少一个表或视图的所有行,只要这些行符合任何 WHERE 或 HAVING 搜索条件。将检索通过左向外联接引用的左表的所有行,以及通过右向外联接引用的右表的所有行。完整外部联接中两个表的所有行都将返回。
参考
http://www.51cto.com/art/200601/20106.htm
分享到:
相关推荐
在优化数据库性能,特别是涉及多表连接查询时,理解JOIN的完全用法至关重要。 首先,JOIN操作主要分为三类:内联接(INNER JOIN)、外联接(OUTER JOIN)以及全外联接(FULL OUTER JOIN)。 1. **内联接(INNER JOIN)**:...
SQL join 完全用法 SQL join 完全用法 学习sql join
非常详细的SQL--JOIN之完全用法 本篇文章将详细介绍 SQL 中的 JOIN 操作,包括 LEFT JOIN、RIGHT JOIN、FULL JOIN 等多种类型的外联接,及其在实际应用中的使用方法。 什么是 JOIN 操作? JOIN 操作是 SQL 中的一...
在这个“SQL之JOIN用法完全版”中,我们将深入探讨JOIN的不同类型及其应用。 1. **INNER JOIN**: INNER JOIN返回两个表中匹配的行。这意味着只有当第一个表中的某行与第二个表中的某行在指定的列上具有相同的值时...
在 FROM 子句中指定外联接时,可以由下列几组关键字中的一组指定: LEFT JOIN 或 LEFT OUTER JOIN。 左向外联接的结果集包括 LEFT OUTER 子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果...
MySQL JOIN 语法说明与 INNER JOIN 语法用法实例 本文档详细介绍了 MySQL 中的 JOIN 语法,包括 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOIN 等,并提供了实际的实例来说明 JOIN 的用法。 首先,MySQL 的 JOIN ...
在大数据处理领域,Hadoop MapReduce 是一种广泛使用的分布式计算框架。在处理涉及多数据集的任务时,Join 操作是必不可少的,它用于合并来自不同数据源的相关数据。本文主要探讨了两种 MapReduce 中的 Join 实现:...
本文将深入探讨Map JOIN和Reduce JOIN两种在Hadoop中实现JOIN的方法,并通过代码示例来阐述它们的工作原理。 1. Map JOIN: Map JOIN在Hadoop中主要应用于小表与大表的连接。小表的数据可以完全加载到内存中,而大...
如果某个分区的哈希表仍然过大,Oracle会退化为Nested-Loops Hash Join,逐个对剩余的分区构建哈希表并与之连接。 **二、Hash Join原理** 在实际操作中,Oracle使用哈希函数对连接键进行运算,将数据分到不同的...
此外,优化JOIN操作对于提高查询性能也至关重要,比如通过使用索引、避免全表扫描和合理设计JOIN条件等方法。在PL/SQL Developer这样的开发环境中,可以方便地测试和比较不同的JOIN类型,以便更好地理解和利用它们的...
SQL Join On 用法 SQL Join On 是一种常用的数据库连接方式,用于连接两个或多个表,通过指定的连接条件来筛选和组合数据。join on 语句的基本结构为: `SELECT * FROM table1 [LEFT/RIGHT/INNER] JOIN table2 ON ...
- `OUTER JOIN`(左外联接、右外联接和全外联接)用于处理不完全匹配的情况,能够提供更全面的数据视图。 - `CROSS JOIN`用于生成所有可能的组合,但在实际工作中较少使用。 理解这些不同类型的`JOIN`及其用法对于...
在数据库管理领域,Hash JOIN是一种常见的SQL查询执行策略,尤其在处理大数据量的关联操作时。...通过上述方法,我们可以有效地分析和优化Hash JOIN过程中出现的临时表空间不足问题,提升数据库的性能和稳定性。
总的来说,Hash Join 算法是 Oracle SQL 优化和调优的关键工具之一,尤其在处理大型数据集时。理解其工作原理和优化策略,可以帮助数据库管理员和开发人员编写更高效、更优化的 SQL 查询,从而提升系统性能。在实际...
在GIS(地理信息系统)领域, Spatial_Join 是一种强大的工具,用于分析空间数据并整合不同图层的信息。本文将深入探讨如何在ArcGIS...掌握Spatial_Join的使用,对于任何GIS从业者来说都是提升工作效率和洞察力的关键。
- **情态动词**:学习情态动词“can”、“must”、“should”等的使用方法及其意义。 ### 三、阅读与写作技巧 #### 阅读: - **理解文章大意**:培养学生能够快速把握文章主旨的能力。 - **细节查找**:训练学生从...
mybatis-plus的多表插件完全按照mybats plus的用法来做,支持一对一返回映射,多对多返回映射,自定义返回Vo,自定义表别名,自定义查询字段,你只要会mp,那你就会用mpj,无感引入,不会对之前的业务产生一点点影响...
INNER JOIN则在需要完全匹配的记录时使用,如合并两个表的对应信息。 总结一下,LEFT JOIN、RIGHT JOIN和INNER JOIN是数据库查询中不可或缺的部分,它们分别用于不同的数据集成需求。LEFT JOIN保证了左表所有数据的...
本知识点将深入探讨四个表示“联合”或“连接”的动词:combine、connect、join 和 unite,以及另外两个常用的动词 complete 和 finish,以及动词 communicate 的不同用法。 首先,我们来看 combine、connect、join...