`
qingzi2534
  • 浏览: 257926 次
  • 性别: Icon_minigender_2
  • 来自: 烟台
社区版块
存档分类
最新评论

简单理解外连接

阅读更多

sql的高级查询有四种连接,分别是:等值连接,非等值连接,外连接,自连接。

等值连接很简单,如:

  1. select * from emp.dept   
  2. where emp.no = dept.dept_no  

非等值连接,是这两个表之间没有直接关系,他们要满足一个条件,如,哪些员工的工资级别属于三级:

  1. select ename,sal  from emp,salgrage    
  2.  where grade = 3 and sal between losal and hisal  

自连接,是同一个基表的不同行做连接,如,指出每个雇员的经理的名字:

  1. select worker.ename,manager.ename  n   
  2.  from emp  worker,emp  manager   
  3.  where worker.mgr = manager.empno  

步入正题,外连接,简单的说,就是把不带加号(+)那一边的表的数据全部取出,如果带加号那一端的表中没有对应的数据,则用空白补充。说白了,加号的意思就是补充。(因为我每次用外连接的时候都要反应半天,所以自己找了个简单的记忆方法,不知道你听懂没有?)下面这个例子在加以详细解释一下下,如,查出所有员工及对应部门的记录,包括没有任何员工的部门记录。

  1. SELECT e.last_name,  e.department_id,  d.department_name   
  2.   
  3.   FROM employees e, departments d   
  4.   
  5.   WHERE e.department_id(+)=d.department_id;   
  6.   
分享到:
评论
4 楼 qingzi2534 2007-06-25  
全外连接,就字面意思而言,不难理解吧?
既是左外连接 又是有外连接
3 楼 dogstar 2007-06-14  
连接分为三种:内连接、外连接、交叉连接

内连接:INNER JOIN
	分为三种:等值连接、自然连接、不等连接
	
外连接:
	分为三种:左外连接(LEFT OUTER JOIN或LEFT JOIN)、右外连接(RIGHT OUTER JOIN或RIGHT JOIN)和全外连接(FULL OUTER JOIN或FULL JOIN)三种

交叉连接(CROSS JOIN)
	没有WHERE 子句,它返回连接表中所有数据行的笛卡尔积
2 楼 抛出异常的爱 2007-06-08  
javastudy 写道
是不是还有卡笛尔连接啊,
那东西有用么?
1 楼 LucasLee 2007-01-16  
+号的理解是正确的。
不过这种方式是Oracle专有的,现在应该根据SQL标准使用left(or right,full) outer join ...on...
这种通用的方式。Oracle9+和其他数据库都支持得很好。

相关推荐

    简单C#数据库连接小例子

    本教程将通过一个简单的C#数据库连接示例,帮助初学者理解和掌握如何建立数据库连接。 首先,我们需要引入ADO.NET相关的命名空间,这通常包括`System.Data.SqlClient`。这个命名空间提供了连接到SQL Server数据库所...

    SQL左外连接,右外连接,全连接,内连接4种连接的区别[归类].pdf

    SQL中的连接操作是数据库...了解这些连接类型对于理解和编写复杂的SQL查询至关重要,它们可以帮助你根据业务需求有效地组合和筛选数据。在实际应用中,选择正确的连接类型能帮助优化查询性能并确保获取到准确的结果。

    【实验报告】数据库的简单查询和连接查询实验

    【实验报告】数据库的简单查询和连接查询实验 在本次实验中,我们专注于掌握SQL查询语句,包括单表查询和多表连接查询,旨在深化对关系、属性、主键和外键的理解。实验环境是Microsoft SQL Server或MySQL,实验前...

    TCP长短连接简单Demo

    在这个"TCP长短连接简单Demo"中,`TCP_Connection_Server`和`TCP_Connection_Client`是主要的源代码文件。服务器端`TCP_Connection_Server`负责监听和接受客户端的连接请求,管理与多个客户端的连接,并处理接收到的...

    数据库实验报告-数据库的简单查询和连接查询

    通过实践,学生将进一步掌握涉及一个以上数据表的查询技巧,包括等值连接、自然连接、非等值连接、自身连接、外连接和复合条件连接。 ### 实验原理 #### SQL Server查询分析器 查询分析器是SQL Server提供的一种...

    简单的jdbc连接池类

    本示例中的"简单的jdbc连接池类"实现了一个基本的数据库连接池功能,非常适合初学者理解和实践。 首先,我们来理解`jdbc`。JDBC(Java Database Connectivity)是Java语言用来与各种数据库进行交互的一种标准接口。...

    简单的SQL连接客户端

    而"简单的SQL连接客户端"则是一个专为用户设计的轻量级应用,旨在帮助用户方便地连接到SQL Server数据库进行相关操作。下面将详细介绍SQL连接客户端的相关知识点。 首先,SQL连接客户端是数据库管理员、开发人员和...

    简单的TCP连接

    本主题将深入解析“简单的TCP连接”,适合初学者理解TCP连接的基本流程。 TCP是一种面向连接的、可靠的传输层协议,它确保了数据在网络中的正确传输。TCP连接的建立与关闭通常分为三个阶段:三次握手和四次挥手。 ...

    简单Tcp局域网连接

    在IT行业中,网络通信是至关重要的一个领域,TCP(Transmission Control ...理解这些概念和技术对于构建网络应用至关重要,无论是简单的文件传输、游戏联机还是复杂的分布式系统,TCP连接都是其背后的重要支撑。

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

    数据库连接是数据库操作中至关重要的一个概念,它用于合并来自两个或更多个表的数据。连接类型主要有内连接、外连接和交叉连接,这些方法在...理解并熟练运用这些连接类型对于任何数据库操作人员来说都是至关重要的。

    SQL内连接与外连接.pdf

    SQL中的连接操作是数据库查询中不可或缺的部分,...通过理解内连接和外连接,数据库管理员和开发者可以更好地设计查询,以处理复杂的数据库关系,并确保获取所需的信息。掌握这些概念是成为熟练的SQL用户的关键步骤。

    数据库实验报告——数据库的简单查询和连接查询

    实验报告的主题聚焦于数据库的简单查询和连接查询,旨在通过SQL Server查询分析器来实践和深化对SQL语言的理解。实验的目的是让学生掌握SQL Server查询分析器的使用,熟悉SQL查询语句,特别是针对数据表的查询操作,...

    VB.net 简单的数据库连接测试器

    在VB.NET编程环境中,开发一个简单的数据库连接测试器是一个常见的任务,这有助于开发者验证应用程序与数据库之间的连接是否正常。这个工具通常使用配置文件来存储连接字符串和其他相关设置,以实现灵活和安全的管理...

    一种简单JDBC数据库连接池的实现

    本示例将详细介绍如何使用简单的JDBC实现一个数据库连接池。首先,我们来理解数据库连接池的基本概念。 数据库连接池是一种在应用服务器启动时预先创建并管理一定数量的数据库连接的机制。应用程序在需要时可以从...

    VB winsock简单实例tcp连接

    本文将深入探讨如何使用VB Winsock控件进行简单的TCP连接,并通过源码实例帮助开发者理解其工作原理。 TCP(Transmission Control Protocol)是一种面向连接的、可靠的传输协议,广泛应用于互联网应用中,如HTTP、...

    简单的客户端连接服务器.zip

    本案例关注的是“简单的客户端连接服务器”的实现,这通常涉及使用Socket编程来创建客户端和服务器端的双向通信链路。Socket是网络通信中的一个概念,它提供了进程间通信(IPC)的能力,尤其在网络环境中。 首先,...

    自己写的一个简单的连接池

    这里,我们讨论的是一个自定义实现的简单连接池。 连接池的核心功能通常包括以下几点: 1. **初始化与配置**:连接池在启动时需要根据预先设定的参数(如最大连接数、最小连接数、超时时间等)进行初始化。这些...

    java 简单的网络聊天程序 服务器连接多个客户端

    Java 网络编程是Java开发中的一个重要领域,主要用于实现应用程序间的通信。在这个场景中,我们讨论的是一个简单的网络聊天程序,它包含了一个...虽然只是一个基础示例,但它为理解更复杂的网络应用打下了坚实的基础。

    COM 连接点简单例子

    在“COM 连接点简单例子”中,我们有两个主要部分:客户程序(Client Program)和COM组件(COM Component)。 1. **客户程序(TestCom)**:这个程序作为订阅者,需要监听来自COM组件的事件。它首先需要找到COM组件...

Global site tag (gtag.js) - Google Analytics