`
Jacular
  • 浏览: 182277 次
  • 性别: Icon_minigender_1
  • 来自: 云南
社区版块
存档分类
最新评论

SQL:左外链接、有外连接、全外连接

    博客分类:
  • SQL
 
阅读更多
SQL:左外链接、有外连接、全外连接之经典解释
假设一堆男女在教堂,有夫妇有单身的,假设男为左表,女为右表
教父说:结了婚的人请出去,结了婚的人请手拉手,于是结了婚的男女站了起来,这就是INNER 内连
教父说:男的并且和这些男的结婚的女的请出去,结了婚的人请手拉手,于是,结了婚的夫妇手拉手出去,单身的男的也出去了。这就是 LEFT 左连
教父说:女的并且和这些女的结婚的男的请出去,结了婚的人请手拉手,于是,结了婚的夫妇手拉手出去,单身的女的也出去了。这就是 RINGT 右连
教父又说:请全部人都出去,结了婚的人请手拉手,于是 结了婚的夫妇手拉手出去,单身的男的和女的各自出去了。 这就是全外连
以实例来说明
A表
ID
1
2
B表
2
3
左连:Select * From A LEFT JOIN B ON A.ID=B.ID
结果
1,null
2,2
右连:Select * From A RIGHT JOIN B ON A.ID=B.ID
结果
2,2
null,3
内连:Select * From A INNER JOIN B ON A.ID=B.ID
结果
2,2
全外连:Select * From A OUTER JOIN B ON A.ID=B.ID
结果
1,null
2,2
null,3
分享到:
评论
2 楼 yangxiutian 2012-08-14  
select * From A OUTER JOIN B ON A.ID=B.ID;是有问题的    outer关键字只能跟left或right使用 如,left outer(通常outer可以隐藏)。全连接应该用的是full   
也就是:select * from a full join b on a.id=b.id;

内连接有时还可以用自然连接实现(两个表的关联字段名字相同时):
select * from a natural join b;
语句更简洁。


纠正一下,希望楼主莫介意。
1 楼 yangxiutian 2012-08-13  
说的很形象,以后我就不会再在这三个问题上犯浑了。感谢楼主。

相关推荐

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

    SQL中的连接操作是数据库查询...- 全外连接将返回所有`a`和`b`的行,如果有任何一方没有匹配,相应的列将被填充为NULL。 理解这些连接类型对于编写复杂的SQL查询至关重要,可以帮助你有效地提取和分析数据库中的数据。

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

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

    SQL 四种连接-左外连接、右外连接、内连接、全连接详解

    全外连接返回两个表的所有行,如果某个表中没有匹配的行,那么对应列的值将在结果集中显示为NULL。在上面的例子中,由于a表和b表的id完全匹配,全连接的结果与内连接相同。 在实际应用中,选择哪种连接方式取决于...

    sql server 通过链接服务器连接mysql

    本教程将深入讲解如何通过SQL Server的链接服务器功能连接到MySQL数据库,并提供驱动安装与示例查询。 一、SQL Server链接服务器基础 链接服务器是SQL Server中的一个对象,它定义了到另一个数据源(如MySQL)的...

    SqlDbx连接oracle

    首先,连接Oracle数据库通常需要Oracle客户端软件,但这里提到的“Sqldbx连接oracle,不用安装client”,意味着SqlDbx可能通过一种无需完整Oracle客户端的方式来实现连接。这种连接方式通常依赖于Oracle的Instant ...

    sqlserver连接字符串大全

    6. **加密连接:** - `Driver={SQL Native Client};Server=myServerAddress;Database=myDataBase;Trusted_Connection=yes;Encrypt=yes;` - 使用`Encrypt=yes`确保连接数据的安全性。 7. **连接SQL Server Express...

    SQL Server 2008设置最大连接数

    此设置决定了同一时间可以有多少个客户端连接到SQL Server实例。了解并正确配置这个参数对于数据库管理员来说至关重要,因为它直接影响到系统的并发处理能力、资源管理和用户体验。 1. **最大连接数的意义**: - ...

    oracle sqldeveloper连接mysql、SQLServer第三方dll

    解决oracle sqldeveloper无法连接mysql、SQLServer问题,sqlDeveloper是ORACLE数据库开发工具,自带的是无法连接MS SQL Server以及mysql的,想连接的话需要第三方工具。 使用方法: 解压出来后将2个jar放入jlib...

    pb连接sqlserver所需dll全版本

    将PB与SQL Server进行连接,需要依赖特定的DLL(动态链接库)文件,这些文件提供了PB与SQL Server之间的通信接口。 在“pb连接sqlserver所需dll全版本”这个主题中,我们可以讨论以下几个关键知识点: 1. **ODBC...

    SQL SERVER连接oracle数据库几种方法

    在 SQL Server 中,我们可以创建一个链接服务器,以便连接到 Oracle 数据库。下面是一个示例代码: ```sql EXEC sp_addlinkedserver @server = 'GE160', @srvproduct = 'Oracle', @provider = 'MSDAORA', @datasrc ...

    sql_server连接Oracle方法(最全)

    "SQL Server 连接 Oracle 方法" SQL Server 连接 Oracle 方法是数据库管理系统中的一个重要话题。本文将详细介绍如何在 SQL Server 中连接 Oracle 数据库,并解决在连接过程中可能出现的问题。 安装 Oracle 客户端...

    SQL Server 连接MySQL 数据库.docx

    3. ODBC 连接:ODBC(Open Database Connectivity)是一种标准的数据库连接接口,用于连接不同的数据库管理系统。 4. 链接服务器:链接服务器是 SQL Server 连接到其他数据库管理系统的桥梁。 应用场景 SQL Server...

    SQLDBX 连接多种类型的数据库

    SQLDBX是一款强大的数据库管理工具,它允许用户方便地连接并操作多种类型的数据库系统,包括SQL SERVER的各种版本、Oracle的不同版本以及MYSQL等。这款软件以其高效、易用和跨平台的特点,深受数据库管理员和开发...

    SQLSERVER创建连接服务器

    ### SQLSERVER创建连接服务器 #### 知识点一:连接服务器的概念 在SQL Server中,连接服务器(Linked Server)是一种使一个SQL Server实例能够访问另一个SQL Server实例或非SQL Server数据源的技术。通过连接...

    实现 Oracle 连接 SQL Server

    4. **测试连接**:使用创建好的数据库链接查询 SQL Server 数据库中的表,例如: ``` SELECT * FROM jobs@pubs; ``` 如果连接成功,将返回 SQL Server 数据库中的数据。 #### 结论 通过以上步骤,可以成功...

    SQL Server 2012链接服务器到PostgreSQL

    在SQL Server 2012中,连接到外部数据源如PostgreSQL数据库是通过设置链接服务器来实现的。链接服务器允许SQL Server查询和操作非本地的数据,提供了与异构数据库系统交互的能力。以下是一个详细步骤,说明如何在SQL...

    LABVIEW与SQL SERVER的连接方法详细说明

    下面就介绍LABVIEW与SQLSERVER的连接方法。连接思路:先在SQLSERVER建立自己的数据库,如MyDB。然后在操作系统建立一数据源(ODBC),此数据源的驱动选择SQLSERVER,数据源与SQLSERVER中的MyDB关联。最后在LABVIEW中...

    SQL Server连接字段的方法

    如果这三个字段是以字符类型(如`char`)存储的,那么可以直接使用`RTRIM`函数去除可能存在的尾部空格,并通过`+`操作符进行连接: ```sql SELECT RTRIM(StarYear) + '-' + RTRIM(StarMonth) + '-' + RTRIM(StarDay...

    sqlserver与cache通过odbc连接

    - 路径:对象资源管理器 > 服务器对象 > 连接服务器 > 链接服务器 > 新建连接服务器 - **连接服务器名称**:为连接起一个易于识别的名字,例如“HIS”。 - **服务器类型**:选择“其他数据源”。 - **访问接口**...

    SqlDbx 数据库连接工具 可连接多个数据库

    SqlDbx是一款强大的数据库连接工具,专为数据库管理员和开发人员设计,支持连接多种类型的数据库。这款工具以其高效、易用和多功能性而备受推崇。下面将详细介绍SqlDbx的功能特性以及如何使用它来连接和管理不同的...

Global site tag (gtag.js) - Google Analytics