`
regedit_123
  • 浏览: 321252 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

oracle两表之间的连接

 
阅读更多

数据表的连接 有:
1
、内连接(自然连接): 只有两个表相匹配的行才能在结果集中出现

2
、外连接: 包括

1)左外连接(左边的表不加限制
)
2)右外连接(右边的表不加限制
)
3)全外连接(左右两表都不加限制
)
3
、自连接(连接发生在一张基表内)

1、右连接

select a.studentno, a.studentname, b.classname
      from students a, classes b
      where a.classid(+) = b.classid;

STUDENTNO STUDENTNAM CLASSNAME
---------- ---------- ------------------------------
            1
周虎          一年级一班
            2
周林          一年级二班
                            
一年级三班
以上语句是右连接:
"(+)"所在位置的另一侧为连接的方向,右连接说明等号右侧的所有
记录均会被显示,无论其在左 侧是否得到匹配。也就是说上例中,无
论会不会出现某个班级没有一个学生的情况,这个班级的名字都会在
查询结构中出现。

2、左连接

反之:
select a.studentno, a.studentname, b.classname
       from students a, classes b
      where a.classid = b.classid(+);

STUDENTNO STUDENTNAM CLASSNAME
---------- ---------- ------------------------------
            1
周虎          一年级一班
            2
周林          一年级二班
            3
钟林达

则是左连接,无论这个学生有没有一个能在一个班级中得到匹配的部门号,
这个学生的记录都会被显示。

select a.studentno, a.studentname, b.classname
       from students a, classes b
      where a.classid = b.classid;

这个则是通常用到的内连接,显示两表都符合条件的记录

总之,

左连接显示左边全部的和右边与左边相同的
右连接显示右边全部的和左边与右边相同的

内连接是只显示满足条件的!

分享到:
评论

相关推荐

    Oracle中表的连接及其调整.

    - 这种连接方法通常在两个大表之间进行,并且它们都有良好的排序顺序时效率较高。 3. 哈希连接(Hash Join) 哈希连接适用于处理大规模数据,尤其是在内存足够的情况下。它的工作步骤如下: - 创建一个哈希表,将...

    Oracle Spatial与ArcGIS连接

    本文旨在探讨ArcGIS与Oracle Spatial之间的直接连接方法,并讨论在此过程中遇到的问题及其解决方案。 #### 二、ArcGIS与Oracle Spatial直接连接概述 **2.1 直接连接的意义** 直接连接(Direct Connect)是指ArcGIS...

    Oracle表连接方式

    以下条件下hash join可能有优势:两个巨大的表之间的连接。在一个巨大的表和一个小表之间的连接。可以用ordered提示来改变CBO默认的驱动表,或者用USE_HASH(table_name1 table_name2)提示来强制使用hash join。 ...

    Oracle数据库3种主要表连接方式对比

    - 这种连接方式非常适合于处理大型表之间的连接,尤其是在缺乏索引或查询条件较为模糊的情况下。 - 通常情况下,散列连接比排序合并连接更快,因为它不需要对整个表进行排序。 **缺点:** - 构建散列表需要大量的...

    Oracle中表的四种连接方式讲解

    相等连接是最基础的连接类型,它基于两个表中相同意义的列之间的相等条件。例如,在查询员工信息及其所在部门时,可以使用`WHERE`子句指定`EMP.DEPTNO`等于`DEPT.DEPTNO`的条件,这将只返回部门编号在两个表中都存在...

    Oracle 表的扫描方式及连接方法

    Oracle 表的扫描方式及连接方法 Oracle 表的扫描方式是指 Oracle 访问表的方法,包括全表扫描、索引扫描、索引范围扫描、索引唯一扫描等。这些扫描方式的选择取决于查询的条件、索引的类型和数据的分布。 一、全表...

    Oracle经典故障解析 连接数&会话数

    下面将详细解析这两个概念,以及它们在Oracle故障排查中的重要性。 1. 连接数和会话数的概念:在Oracle中,连接数指的是同一时间连接到数据库的用户数量。每次用户通过SQL客户端登录到数据库时,都建立了一个连接。...

    [数据库] Oracle单表查询总数及百分比和数据横向纵向连接1

    接下来,我们探讨如何在多表之间进行数据连接以获取更复杂的信息。例如,如果存在一个学院表TEST_DEP,包含DW_NAME、DW_CODE、YEAR和ADDR字段,我们可以用子查询来连接教师表和学院表,统计不同学院的教师信息。以下...

    oracle表的连接方式

    - 当两个巨大的表之间进行连接时,或者在一个巨大的表和一个小表之间进行连接时。 **优化技巧**: - 确保`HASH_AREA_SIZE`初始化参数足够大,对于Oracle 9i版本,建议使用SQL工作区自动管理。 - 使用`USE_HASH...

    Oracle中多表关联批量插入批量更新与批量删除操作

    在Oracle中,如果两个或多个表之间存在关联,比如`emp`表和`dept`表通过`deptno`字段关联,批量插入数据时需要确保关联关系的一致性。例如,插入`emp`表时,`deptno`字段应引用已存在于`dept`表中的`deptno`。可以先...

    oracle连接数问题

    然而,随着业务量的增加,Oracle数据库可能会遇到连接数的问题,这往往与内存限制紧密相关。本文将深入探讨如何通过修改Oracle参数来解决这一问题,确保数据库能够稳定运行并满足高并发需求。 ### Oracle连接数问题...

    Oracle与Access表之间的导入和导出

    本文将详细讲解如何在 Oracle 的 FORM 程序中实现这两个系统之间的数据导入和导出。 首先,为了在 Oracle 和 Access 之间建立连接,我们需要完成以下准备工作: 1. 安装 OCA (Oracle Call Interface for ODBC)。这...

    理解oracle中的外连接

    例如,当需要对比两个表的数据差异,或者合并来自多个源的信息,外连接可以提供全面的视图,帮助我们理解数据之间的关系和缺失部分。 总结来说,理解Oracle中的外连接对于数据库管理员、数据分析师和开发人员至关...

    Oracle 左连接、右连接

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

    Oracle中的几种表连接区别

    这种连接通常用于查询表中记录之间的某种关联关系。 **语法示例:** ```sql SELECT W.ENAME, W.MGR, M.EMPNO, M.ENAME FROM EMP W, EMP M WHERE W.MGR = M.EMPNO; ``` 此语句查询了员工表EMP中所有员工的姓名...

    Oracle数据库表连接笔记.doc

    2. 排序合并连接(Sort-Merge Join)在两个已排序的表之间进行,需要先对参与连接的表进行排序。当处理大型表且连接条件涉及多个字段时,这种连接方式通常更有效。 3. 集群连接(Cluster Join)主要针对已存储在...

    力控与Oracle数据库的连接.pdf

    力控与Oracle数据库的连接是工业自动化领域常见的数据交互方式,力控实时...正确配置这些环节,可以实现力控与Oracle之间的高效数据交互。在实际操作中,应注意数据类型的对应和转换,以保证数据的准确性和一致性。

    Oracle数据库中表的四种连接方式讲解

    相等连接是最常见的连接类型,基于两个或更多表之间相同列的值相等来合并数据。例如,在`EMP`和`DEPT`表中,当`EMP.DEPTNO`等于`DEPT.DEPTNO`时,会返回员工和他们所在部门的信息。这可以通过简单的逗号分隔表名或...

Global site tag (gtag.js) - Google Analytics