`

oracle中left join和right join的区别

sql 
阅读更多

oracle中left join和right join的区别  

1,说明:

 

通俗的讲:  

oracle中left join和right join的区别 - anly_liu - anly的博客   A   left   join    B    的连接的记录数与A表的记录数同  

oracle中left join和right join的区别 - anly_liu - anly的博客   A   right   join    B    的连接的记录数与B表的记录数同    

oracle中left join和right join的区别 - anly_liu - anly的博客   A   left   join    B    等价B   right   join    A 

2,left join

 

table    A:  

oracle中left join和right join的区别 - anly_liu - anly的博客   Field_K,    Field_A  

oracle中left join和right join的区别 - anly_liu - anly的博客  1                        a  

oracle中left join和right join的区别 - anly_liu - anly的博客  3                        b  

oracle中left join和right join的区别 - anly_liu - anly的博客  4                        c  

oracle中left join和right join的区别 - anly_liu - anly的博客   

oracle中left join和right join的区别 - anly_liu - anly的博客  table    B:  

oracle中left join和right join的区别 - anly_liu - anly的博客   Field_K,    Field_B  

oracle中left join和right join的区别 - anly_liu - anly的博客  1                        x  

oracle中left join和right join的区别 - anly_liu - anly的博客  2                        y  

oracle中left join和right join的区别 - anly_liu - anly的博客  4                        z  

oracle中left join和right join的区别 - anly_liu - anly的博客   

oracle中left join和right join的区别 - anly_liu - anly的博客  select    a.Field_K,    a.Field_A,    b.Field_K,    b.Field_B  

oracle中left join和right join的区别 - anly_liu - anly的博客  from    a   left   join    b   on    a.Field_K=b.Field_K  

oracle中left join和right join的区别 - anly_liu - anly的博客   

oracle中left join和right join的区别 - anly_liu - anly的博客   Field_K          Field_A          Field_K          Field_B          

oracle中left join和right join的区别 - anly_liu - anly的博客  ----------    ----------    ----------    ----------    

oracle中left join和right join的区别 - anly_liu - anly的博客  1                      a                     1                      x                    

oracle中left join和right join的区别 - anly_liu - anly的博客  3                      b                     NULL               NULL  

oracle中left join和right join的区别 - anly_liu - anly的博客  4                      c                     4                      z     

3,right join

 

 select    a.Field_K,    a.Field_A,    b.Field_K,    b.Field_B  

oracle中left join和right join的区别 - anly_liu - anly的博客  from    a   right   join    b   on    a.Field_K=b.Field_K  

oracle中left join和right join的区别 - anly_liu - anly的博客   

oracle中left join和right join的区别 - anly_liu - anly的博客   Field_K          Field_A          Field_K          Field_B          

oracle中left join和right join的区别 - anly_liu - anly的博客  ----------    ----------    ----------    ----------    

oracle中left join和right join的区别 - anly_liu - anly的博客  1                      a                     1                      x                    

oracle中left join和right join的区别 - anly_liu - anly的博客  NULL               NULL               2                      y                    

oracle中left join和right join的区别 - anly_liu - anly的博客  4                      c                     4                      z      --

4,例子

 

假设a表和b表的数据是这样的。  

oracle中left join和right join的区别 - anly_liu - anly的博客   a                          b    

oracle中left join和right join的区别 - anly_liu - anly的博客   id      name  id      stock   

oracle中left join和right join的区别 - anly_liu - anly的博客  1  a             1         15  

oracle中left join和right join的区别 - anly_liu - anly的博客  2          b             2         50  

oracle中left join和right join的区别 - anly_liu - anly的博客  3          c      

 

 select   *   from    a   inner   join    b   on    a.id=b.id  

oracle中left join和right join的区别 - anly_liu - anly的博客   这个语法是连接查询中的内连接,它产生的结果是  

oracle中left join和right join的区别 - anly_liu - anly的博客   两个表相匹配的记录出现在结果列表中。  

oracle中left join和right join的区别 - anly_liu - anly的博客   根据上面的表,出现的结果是这样的  

oracle中left join和right join的区别 - anly_liu - anly的博客   a.id      name      b.id      stock  

oracle中left join和right join的区别 - anly_liu - anly的博客  1        a             1         15  

oracle中left join和right join的区别 - anly_liu - anly的博客  2              b             2         50  

oracle中left join和right join的区别 - anly_liu - anly的博客  ----------------------------  

oracle中left join和right join的区别 - anly_liu - anly的博客  select   *   from    a,b   where    a.id=b.id  

oracle中left join和right join的区别 - anly_liu - anly的博客   这个语法是内连接的另外一种写法,其执行结果与inner   join    一样  

------------------------------------------------------------

 

 select   *   from    a   left/right   join    b   on    a.id=b.id  

oracle中left join和right join的区别 - anly_liu - anly的博客   这个是外连接语法中的左外连接或右外连接  

oracle中left join和right join的区别 - anly_liu - anly的博客   如果是左外连接的话,它将显示a表的所有记录,  

oracle中left join和right join的区别 - anly_liu - anly的博客  select    a.*,b.*   from    a   left   join    b   on    a.id=b.id  

oracle中left join和right join的区别 - anly_liu - anly的博客   查询的结果是这样的:  

oracle中left join和right join的区别 - anly_liu - anly的博客   a.id      name      b.id      stock  

oracle中left join和right join的区别 - anly_liu - anly的博客  1          a         1             15  

oracle中left join和right join的区别 - anly_liu - anly的博客  2                b         2             50  

oracle中left join和right join的区别 - anly_liu - anly的博客  3                c       null         null   

oracle中left join和right join的区别 - anly_liu - anly的博客  --------------------------------------------  

oracle中left join和right join的区别 - anly_liu - anly的博客   如果是右外连接的话,它将显示b表的所有记录,  

oracle中left join和right join的区别 - anly_liu - anly的博客  select    a.*,b.*   from    a   right   join    b   on    a.id=b.id  

oracle中left join和right join的区别 - anly_liu - anly的博客   查询的结果是这样的:  

oracle中left join和right join的区别 - anly_liu - anly的博客   a.id      name      b.id      stock  

oracle中left join和right join的区别 - anly_liu - anly的博客  1          a         1             15  

oracle中left join和right join的区别 - anly_liu - anly的博客  2                b         2             50   

 

select    a.*,b.*   from    a   left   join    b   on    a.k   =    b.k    

select    a.*,b.*   from    a   left   outer   join    b   on    a.k   =b.k 

  

oracle中left join和right join的区别 - anly_liu - anly的博客  ----------上面两种一样left    join是left    outer    join的简写  

oracle中left join和right join的区别 - anly_liu - anly的博客  select    a.*,b.*   from    a   left   inner   join    b   on    a.k   =    b.k    

oracle中left join和right join的区别 - anly_liu - anly的博客   没有这种写法,错误的语句.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    oracle中left join和right join的区别浅谈

    理解LEFT JOIN和RIGHT JOIN的区别对于编写复杂的SQL查询至关重要,特别是在需要包含所有可能记录,即使其中一部分在另一个表中没有匹配项时。在实际应用中,这些JOIN类型经常用于数据分析、报表生成和数据整合等任务...

    深入Oracle的left join中on和where的区别详解

    在Oracle数据库中,LEFT JOIN是一种联接操作,用于合并两个或更多表的记录,返回所有左表(第一个提及的表)的记录,即使在右表中没有匹配的记录。LEFT JOIN的关键在于它会保留左表的所有行,并尝试与右表匹配。当...

    oracle性能优化技巧

    在Oracle数据库中,优化器是决定查询执行计划的关键组件,其目标是最小化资源消耗并最大化查询性能。Oracle提供了三种主要的优化器模式:基于规则(RULE)、基于成本(COST)以及选择性(CHOOSE)。 1. **基于规则...

    oracle-join用法

    在Oracle SQL中,Join主要分为几个类型,包括INNER JOIN、LEFT JOIN (LEFT OUTER JOIN)、RIGHT JOIN (RIGHT OUTER JOIN)以及FULL JOIN (FULL OUTER JOIN)。这些类型在Java编程中同样可以使用,通过SQL查询语句来实现...

    left join 过滤条件写在on后面和写在where 后面的区别

    ### left join 过滤条件写在on后面和写在where 后面的区别 在SQL查询语句中,连接(JOIN)是一种非常重要的操作,用于从两个或多个表中获取数据。其中,`LEFT JOIN`是一种常用的连接类型,它返回左表的所有记录以及...

    left-right-join.zip_join_oracle

    本主题主要聚焦于Oracle中的两种特殊连接方式:左外连接(LEFT JOIN)和右外连接(RIGHT JOIN)。通过深入理解这两种连接类型,我们可以更好地进行数据融合,获取更全面的信息。 首先,让我们从基本概念出发。在SQL...

    sql join( inner join, outer join) 分析

    至于标签“源码”和“工具”,这可能暗示在某些数据库管理系统(如MySQL、Oracle、SQL Server等)中实现JOIN操作的特定语法,或者可能涉及到使用某种查询工具(如SQL Developer、SSMS等)来编写和执行JOIN查询。...

    oracle 连接 join at

    总之,Oracle JOIN操作是数据库查询中的核心组成部分,对于有效地聚合和分析数据至关重要。理解并熟练掌握各种JOIN类型以及如何在编程环境中与Oracle数据库交互,将极大地提升你在IT领域的专业技能。

    关于SQL 中的inner join的使用

    RIGHT JOIN 与 LEFT JOIN 相反,它以右表为基础,即使左表中没有对应的记录,也会显示右表的所有记录,并且左表中对应的列显示为 NULL。 #### 八、总结 本文详细介绍了 SQL 中 INNER JOIN 的基本概念、语法结构...

    如何解决Oracle分页查询中排序与效率问题

    本文主要解决 Oracle 分页查询中排序与效率问题,通过实践和分析,提供了两种解决方案,并对比了两种方法的优缺点。 知识点 1: Oracle 分页查询的基本概念 Oracle 分页查询是指在查询结果中,通过限制行数来实现...

    oracle 资料

    - RIGHT JOIN (或 RIGHT OUTER JOIN):与LEFT JOIN相反,返回右表的所有行,左表中没有匹配的行以NULL填充。 - FULL JOIN (或 FULL OUTER JOIN):返回所有左右表的行,即使在其中一个表中没有匹配的行。没有匹配的行...

    理解oracle中的外连接

    在Oracle数据库系统中,外连接(Outer Join)是一种高级的SQL联接操作,它扩展了标准的内连接(Inner Join)概念,允许我们查询不匹配的数据。外连接分为三种类型:左外连接(Left Outer Join)、右外连接(Right ...

    Oracle 左连接、右连接

    本篇文章将深入探讨Oracle中的左连接(LEFT JOIN)和右连接(RIGHT JOIN),这两种连接方式都是为了在不同表之间建立联系,特别是在数据不完全匹配的情况下。 首先,我们来看一下左连接(LEFT JOIN)。左连接返回左...

    Oracle中的几种表连接区别

    本文将详细介绍Oracle中常见的几种表连接方式及其应用场景,包括内连接(Inner Join)、外连接(Outer Join)、左连接(Left Join)、右连接(Right Join)等,并通过具体的例子来帮助理解每种连接的特点与区别。...

    Oracle中sql语句(+)符号代表连接的使用讲解

    oracle中sql语句(+)符号代表连接 (+)在=前边为右连接 (+)在=后边为左连接 SELECT a.*, b.* from a(+) = b就是一个右连接,等同于select a.*, b.* from a right join b SELECT a.*, b.* from a = b(+)就是一个左连接...

    Oracle和MySQL语句区别.doc

    Oracle和MySQL都支持Inner Join、Left Outer Join、Right Outer Join和Full Outer Join等多种Join类型。然而,在Oracle中,需要使用FROM关键字来指定连接表,而在MySQL中,则使用JOIN关键字。 Subquery语句 ...

    Oracle SQL连接查询总结.docx

    根据连接的方式不同,可以分为内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)以及全连接(FULL JOIN)等几种类型。 #### 二、连接查询类型详解 ##### 1. INNER JOIN (内连接) 内连接是最常用...

Global site tag (gtag.js) - Google Analytics