`
zhhaojie
  • 浏览: 28725 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

左连接,右连接

    博客分类:
  • DB
 
阅读更多

SQL 左外连接,右外连接,全连接,内连接

      连接条件可在FROM或WHERE子句中指定,建议在FROM子句中指定连接条件。WHERE和HAVING子句也可以包含搜索条件,以进一步筛选连接条件所选的行。   
   
      连接可分为以下几类:     
    
      内连接。 (典型的连接运算,使用像   =   或   <>   之类的比较运算符)。包括相等连接和自然连接     
      内连接使用比较运算符根据每个表共有的列的值匹配两个表中的行。例如,检索   students   和   courses   表中学生标识号相同的所有行。   
    
      外连接 。外连接可以是左向外连接、右向外连接或完整外部连接     
      在FROM子句中指定外连接时,可以由下列几组关键字中的一组指定:   
      LEFT   JOIN   或   LEFT   OUTER   JOIN。     
       左向外连接的结果集包括LEFT  OUTER子句中指定的左表的所有行,而不仅仅是连接列所匹配的行 。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。    
      RIGHT  JOIN  或  RIGHT   OUTER   JOIN。    
      右向外连接是左向外连接的反向连接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。    
   
      FULL   JOIN   或   FULL   OUTER   JOIN。     
      完整外部连接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。    
   
      交叉连接。 交叉连接返回左表中的所有行,左表中的每一行与右表中的所有行组合。交叉连接也称作笛卡尔积。    
   
例如,下面的内连接检索与某个出版商居住在相同州和城市的作者:  
   
  USE   pubs  
  SELECT   a.au_fname,   a.au_lname,   p.pub_name  
  FROM   authors   AS   a   INNER   JOIN   publishers   AS   p  
        ON   a.city   =   p.city  
        AND   a.state   =   p.state  
  ORDER   BY   a.au_lname   ASC,   a.au_fname   ASC   
   
      FROM   子句中的表或视图可通过内连接或完整外部连接按任意顺序指定;但是,用左或右向外连接指定表或视图时,表或视图的顺序很重要。有关使用左或右向外连接排列表的更多信息,请参见使用外连接。     
    
例子:  
  a表       id   name     b表     id     job   parent_id  
              1   张3                   1     23     1  
              2   李四                  2     34     2  
              3   王武                  3     34     4  
   
  a.id同parent_id   存在关系   
    
  内连接    
  select   a.*,b.*   from   a   inner   join   b     on   a.id=b.parent_id  
   
  结果是    
  1   张3                   1     23     1  
  2   李四                  2     34     2   
    
   左连接    
  select   a.*,b.*   from   a   left   join   b     on   a.id=b.parent_id  
   
  结果是    
  1   张3                    1     23     1  
  2   李四                  2     34     2  
  3   王武                  null   

   右连接    
  select   a.*,b.*   from   a   right   join   b     on   a.id=b.parent_id  
   
  结果是    
  1   张3                   1     23     1  
  2   李四                 2     34     2  
  null                       3     34     4   
    
   完全连接    
  select   a.*,b.*   from   a   full   join   b     on   a.id=b.parent_id   

  结果是    
  1   张3                    1     23     1  
  2   李四                  2     34     2  
  null                        3     34     4  
  3   王武                 null
分享到:
评论

相关推荐

    oracle 左连接 右连接学习

    Oracle 左连接右连接学习 Oracle 中的连接(Join)是一种强大的工具,用于将两个或多个表合并成一个结果集。在学习 Oracle 连接时,可能会感到困惑,因为有多种类型的连接,每种类型都有其特点和应用场景。下面我们...

    oracle数据库 左连接 右连接 自连接 。。

    这里主要涉及三种类型的连接:左连接、右连接和自连接。理解这些连接方式对于有效地管理和查询数据库至关重要。 1. **左连接(Left Join)**: 左连接返回左表(也就是连接操作中指定的第一个表)的所有记录,以及...

    MYSQL数据库中关于左连接右连接和内连接的区别.doc

    MYSQL数据库中关于左连接右连接和内连接的区别.doc

    MYSQL 左连接右连接和内连接的详解及区别

    主要介绍了MYSQL 左连接右连接和内连接的详解及区别的相关资料,需要的朋友可以参考下

    oracle数据库表左连接右连接全连接的认识

    左连接和右连接的区别在于基准表的选择,左连接将左边的表作为基准表,全表数据都要显示,而右连接将右边的表作为基准表,全表数据都要显示。例如: `SELECT e.empno, e.ename, d.dname FROM emp e LEFT JOIN dept ...

    左外连接右外连接,内连接区别

    本文将深入探讨三种主要的连接类型:左外连接、右外连接和内连接,并通过具体的例子来阐述它们之间的区别。 首先,让我们从内连接(INNER JOIN)开始。内连接返回的是两个表中满足特定连接条件的记录。在示例中,`...

    剖析MySQL左连接右连接等值连接异同.pdf

    根据文件中提供的信息,我们可以详细探讨MySQL中的不同连接类型,包括左连接(LEFT JOIN)、右连接(RIGHT JOIN)、内连接(INNER JOIN)以及等值连接的概念和它们之间的异同。 首先,我们需要明确什么是“连接”...

    数据结构左右连接

    根据提供的文件信息,我们可以深入探讨数据结构中的左连接(Left Join)与右连接(Right Join),以及数据库中的授权操作。 ### 数据结构中的左连接与右连接 #### 左连接(Left Join) 左连接是一种数据库查询操作...

    SQL之左连接、右连接和全连接.doc

    SQL 左连接、右连接和全连接知识点 在关系数据库管理系统中,连接操作是将两个或多个表连接起来,以便从多个表中检索数据。SQL 提供了多种连接操作,包括左连接、右连接和全连接。本篇文章将详细讲解左连接、右连接...

    左连接和右连接

    在数据库管理与操作中,左连接(Left Join)和右连接(Right Join)是SQL查询语句中的两种重要连接类型,它们主要用于从两个或多个表中检索数据,特别是在处理复杂的数据关系时,这两种连接方式提供了灵活且强大的...

    SQL 连接 JOIN 例解左连接,右连接,全连接,内连接,交叉连接,自连接

    本文将详细介绍六种主要类型的 JOIN:左连接(LEFT JOIN)、右连接(RIGHT JOIN)、全连接(FULL JOIN)、内连接(INNER JOIN)、交叉连接(CROSS JOIN)以及自连接(SELF JOIN)。通过实例讲解每种连接的特点和应用...

    Oracle 左连接、右连接

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

    SQL_左外连接_右外连接_全连接_内连接

    右外连接与左外连接相反,返回右表的所有行,即使在左表中没有匹配的行。对于左表中没有匹配的行,结果集中的相应列将是NULL。 ```sql SELECT authors.*, publishers.* FROM authors RIGHT JOIN publishers ...

    SQL关于内连接,外连接(左右连接)等的总结

    当我们需要从多个表中获取数据并合并它们时,SQL提供了不同类型的连接操作,包括内连接、外连接(左连接和右连接)。以下是这些连接方式的详细说明。 **内连接(Inner Join)** 内连接返回两个表中存在匹配的记录。...

    数据库:左连接、右连接、全连接

    外连接(OUTER JOIN)是一种连接操作,用于查询多个表中的数据,但不 sadece 返回符合连接条件的数据行,而是返回左表(左外连接时)、右表(右外连接时)或两个表(全外连接时)中的所有数据行。外连接可以分为三种...

    sql 左连接和右连接的使用技巧(left join and right join)

    在众多的连接类型中,左连接(LEFT JOIN)和右连接(RIGHT JOIN)是两种常用的外连接方式,它们允许我们处理不完全匹配的数据情况。 左连接的主要特点是保留左表(也就是在FROM子句中先出现的表)的所有记录,即使...

    Oracle左连接,右连接.doc

    ### Oracle左连接与右连接详解 #### 一、概述 在数据库操作中,表与表之间的连接是非常重要的操作之一。连接操作可以将多个表的数据整合在一起,形成更完整的信息视图。根据不同的需求,Oracle提供了多种连接方式...

    SQL左连接,右连接,内连接,交叉连接,自连接

    根据连接的方式不同,可以分为左连接(LEFT JOIN)、右连接(RIGHT JOIN)、内连接(INNER JOIN)、全连接(FULL JOIN)、交叉连接(CROSS JOIN)以及自连接(SELF JOIN)。每种连接类型都有其特定的应用场景和使用...

    sql左连接,右连接,内连接,全连接讲解

    sql左连接,右连接,内连接,全连接详细讲解

Global site tag (gtag.js) - Google Analytics