`
yuanke
  • 浏览: 71784 次
  • 性别: Icon_minigender_2
  • 来自: 临沂
社区版块
存档分类
最新评论

数据库内连接,外连接,全连接

阅读更多
数据库连接 不是很熟悉,今天搜了一下,转过来,以后看也方面,希望给大家有所帮助

  联接条件可在   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
分享到:
评论

相关推荐

    数据库连接全集 数据库连接全集

    数据库连接全集 数据库连接全集 数据库连接全集 数据库连接全集 数据库连接全集 数据库连接全集 数据库连接全集 数据库连接全集 数据库连接全集 数据库连接全集 数据库连接全集 数据库连接全集 数据库连接全集

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

    数据库连接操作 数据库连接操作是关系数据库管理系统中的一种常用操作,用于将多个表中的数据结合起来,以便查询和分析。连接操作可以在 SELECT 语句的 FROM 子句或 WHERE 子句中建立。 一、内连接 内连接(INNER...

    sql内连接和外连接

    ### SQL内连接与外连接详解 #### 一、SQL内连接(INNER JOIN) **定义**: 内连接(INNER JOIN)是一种最常用的连接方式,它仅返回两个数据集合中具有匹配关系的那些行。具体来说,它会从位于两个互相交叉的数据...

    JAVA 使用数据库连接池连接Oracle数据库全代码

    ### JAVA 使用数据库连接池连接Oracle数据库全代码解析 #### 一、概述 本文将详细介绍如何在Java项目中使用Apache DBCP(Database Connection Pool)来连接Oracle数据库,并提供完整的示例代码。通过这种方式,我们...

    数据库内连接、外连接.ppt.ppt

    总结,数据库连接是数据库管理系统中的核心功能,通过内连接、外连接和交叉连接,我们可以根据需求灵活地组合和筛选数据,实现复杂的数据分析和查询。理解并熟练运用这些连接类型对于任何数据库操作人员来说都是至关...

    数据库连接(源码)

    数据库连接在IT领域中是一个至关重要的概念,尤其是在开发与数据交互的应用程序时。数据库连接允许应用程序与数据库管理系统(DBMS)进行通信,执行查询、更新数据或者获取存储的信息。源码,作为程序员的工作核心,...

    数据库练习四(内连接-外连接)答案.doc

    数据库连接操作可以分为内连接、外连接、自然连接和自连接等类型。 2. 内连接(inner join): 内连接用于连接两个或多个表,并返回公共部分的记录。其基本语法为:SELECT * FROM table1 INNER JOIN table2 ON ...

    数据库表连接(内外、左右连接).docx

    然而,当需要确保两个表中的所有数据都被考虑时,全外连接就显得尤为重要,特别是用于数据清洗和验证数据库中数据的完整性。 在MySQL中,虽然不直接支持全外连接,但可以通过结合左外连接和右外连接达到相同的效果...

    java数据库连接方法(一)

    - Druid:阿里巴巴开源的数据库连接池,除了基本功能外,还包括监控、SQL解析等特性。 **Java数据库连接方法的实践** 在"java数据库连接方法.doc"文档中,可能详细展示了如何在Java代码中实现上述步骤,包括加载...

    数据库连接 数据库连接

    数据库连接是计算机应用程序与数据库系统之间建立的通信通道,它是数据操作和管理的核心部分,尤其在Web应用、企业信息系统和各种软件开发中扮演着至关重要的角色。本文将深入探讨数据库连接的相关知识点,包括连接...

    数据库表连接(内外、左右连接).pdf

    本文主要探讨了四种基本的表连接类型:内连接、外连接(包括左外连接、右外连接)以及交叉连接。 首先,内连接(INNER JOIN)基于指定的连接条件,返回两个表中匹配的行。它又分为等值连接、自然连接和不等连接。...

    数据库的连接池原理,基本概念及原理,服务器自带的连接池

    1. 连接池的基本概念及原理:数据库连接池的基本思想是为数据库连接建立一个“缓冲池”,预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去。...

    数据库练习四(内连接外连接)答案.doc

    数据库实践四(内连接外连接)答案是一个关于数据库操作的实践题目,涵盖了数据库的基本操作,包括内连接、外连接、子查询等。下面对每个题目进行详细的解释和分析: 一、创建学生表、成绩表、课程表 首先,我们...

    oracle数据库crt连接工具

    在实际工作中,Oracle DBA还会结合其他工具,如Oracle SQL Developer(一款免费的全功能数据库开发工具)和Oracle Enterprise Manager Cloud Control(用于全面监控和管理数据库的Web应用),以实现更高效的数据库...

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

    * 全连接:简单说就是左右连接的全部表示,根据连接条件在任意一方表中出现无法匹配的情况,不满足条件的部分均用空值代替。 左连接和右连接 左连接和右连接的区别在于基准表的选择,左连接将左边的表作为基准表,...

    数据库的连接 数据库的连接

    这些类和接口分别代表数据库连接、驱动管理器、结果集和SQL语句的执行对象。 代码的核心部分位于`SQLConnect`类的构造函数中。在这个构造函数里,首先尝试加载JDBC驱动,这是通过调用`Class.forName()`方法完成的,...

    数据库多表连接

    全连接返回两个表中的所有记录,无论是否有匹配项。在例子2中,`Full Join`被用来确保即使在没有考试成绩的情况下,也能显示所有学生的学号和成绩。 ```sql Select student.studentid, grade From grade Full ...

    三大数据库连接驱动

    同时,为了确保安全性,应使用连接池管理和数据库连接,避免频繁的打开和关闭操作,提高系统性能。 在实际开发中,理解不同数据库的连接机制和驱动工作原理至关重要。对于多数据库支持的应用,需要熟悉各数据库的...

    vb.net连接数据库全集

    它提供了一组类库,包括`SqlConnection`(用于SQL Server)、`OleDbConnection`(用于多种数据库)等,这些类用于建立、管理和关闭数据库连接。 2. **数据库连接字符串**: 连接数据库的第一步是创建一个有效的连接...

    dbcp数据库连接池使用jar包

    DBCP(DataBase Connection Pool)是Apache组织开发的一个开源数据库连接池组件,它是Java应用程序中用于高效管理数据库连接的重要工具。数据库连接池的概念是基于资源复用的原理,它避免了频繁地创建和销毁数据库...

Global site tag (gtag.js) - Google Analytics