`
q272156430
  • 浏览: 275807 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Oracle SQL语句(连接查询)

阅读更多

一、内连接和外连接
   内连接用于返回满足连接条件的记录;而外连接则是内连接的扩展,它不仅会满足连接条件的记录,而且还会返回不满足连接条件的记录,语法如下:
  

Oracle代码

 

select table1.column,table2.column from table1 [inner|left|right|full]join table2 on table1.column=table2.column;


inner join表示内连接、left join表示左外连接、right join表示右外连接、full join表示全连接;on用于指定连接条件。
注意:如果使用form内、外连接,则必须使用on操作符指定连接条件;如果使用(+)操作符连接,则必须使用where指定连接条件。

1、内连接
   内连接查询返回满足条件的所有记录,默认情况下没有指定任何连接则为内连接,例如:

Oracle代码
select t1.name,t2.name from cip_temps t1 inner join cip_tmp t2 on t1.ID=t2.id;


2、左外连接
左外连接查询不仅返回满足条件的所有记录,而且还会返回不满足连接条件的连接操作符左边表的其他行,例如:

Oracle代码
select t1.name,t2.name from cip_temps t1 left join cip_tmp t2 on t1.ID=t2.id;


3、右外连接
右外连接查询不仅返回满足调价的所有记录,而且还会返回不满足连接条件的连接操作符右边表的其他行,例如:

Oracle代码

 

select t1.name,t2.name from cip_temps t1 right join cip_tmp t2 on t1.ID=t2.id;


4、全连接
全连接查询不仅返回满足调价的所有记录,而且还会返回不满足连接条件的其他行,例如:

Oracle代码

 

select t1.name,t2.name from cip_temps t1 full join cip_tmp t2 on t1.ID=t2.id;


5、(+)操作符
在oracle9i之前,当执行外连接时,都是使用连接操作符(+)来完成的,尽管可以使用操作符(+)执行外连接操作,但是oracle9i开始oracle建议使用outer join执行外连接,使用(+)操作符执行外连接的语法如下:

Oracle代码

 

select table1.column,table2.column from table1,table2 where table1.column(+)=table2.column;


注意:

  • 当使用(+)操作符执行外连接时,应当将该操作符放在显示较少行(完全满足连接条件行)一端。
  • (+)操作符只能出现在where子句中,并且不能与outer join语法同时使用。
  • 当使用(+)操作符执行外连接时,如果在where语句中包含多个条件,则必须在所有的条件中都包含(+)操作符。
  • (+)操作符只能适用于列,而不能适用于表达式。
  • (+)操作符不能与or和in操作符一起使用。
  • (+)操作符只能用于左外连接和右外连接,不能用于实现完全连接。


(1)、使用(+)操作符执行左外连接
当使用左外连接时,不仅会返回满足连接条件的所有行,而且还会返回不满足连接条件的左边边的其他行。因为(+)操作符要放到行数较少的一端,所以在where子句中应当将该操作符放到右边表的一端,示例如下:

Oracle代码

 

select t1.name,t2.name from cip_temps t1,cip_tmp t2 where t1.ID=t2.id(+);


(2)、使用(+)操作符执行右外连接
当使用右外连接时,不仅会返回满足连接条件的所有行,而且还会返回不满足连接条件的右边边的其他行。因为(+)操作符要放到行数较少的一端,所以在where子句中应当将该操作符放到左边表的一端,示例如下:

Oracle代码
select t1.name,t2.name from cip_temps t1,cip_tmp t2 where t1.ID(+)=t2.id;  
 注:LEFT   JOIN   =   LEFT   OUTER   JOIN   左连接等于左外连接 
       RIGHT  JOIN   =   RIGHT   OUTER   JOIN  
        FULL   JOIN   =   FULL   OUTER   JOIN
分享到:
评论
1 楼 dingrouhao 2011-04-15  
谢谢....

相关推荐

    Oracle Sql语句转换成Mysql Sql语句

    本项目提供了一个Java源码工具,能够帮助用户便捷地将Oracle SQL语句转换为MySQL SQL语句。 Oracle SQL与MySQL SQL的主要差异在于以下几个方面: 1. **数据类型**:Oracle支持的数据类型如NUMBER、LONG、RAW等在...

    oracle利用批处理文件执行SQL语句,bat连接oracle数据库并执行语句

    批处理文件(如.bat文件)在Windows环境中是一种高效的方式,可以自动化执行一系列命令,包括连接数据库和执行SQL语句。在这个场景中,我们可以利用批处理文件来简化Oracle数据库的操作,如删除用户、创建用户、创建...

    Oracle sql语句大全

    Oracle sql语句大全. sql语句的优化资料

    ORACLE常用SQL语句大全.pdf

    本文档总结了 Oracle 中常用的 SQL 语句,包括数据库的创建、删除、备份、表的创建、删除、修改、索引的创建、视图的创建等基本操作,以及一些高级查询运算符的使用。 一、数据库操作 * 创建数据库:CREATE ...

    压测Oracle的SQL语句的性能情况

    1. **SQL优化**:优化SQL语句是提升性能的关键,包括避免全表扫描,使用索引,减少子查询,合理使用连接方式等。 2. **绑定变量**:使用绑定变量可以防止硬解析,提高SQL执行效率,减少解析开销。 3. **执行计划**...

    oracle Sql语句二

    oracle Sql语句二 oracle Sql语句二

    Oracle SQL语句性能优化

    综上所述,Oracle SQL语句性能优化涉及多个方面,包括选择合适的优化器、优化数据访问方式、共享SQL语句、索引策略、查询结构优化以及维护数据库统计信息。通过综合运用这些策略,可以显著提升Oracle数据库的运行...

    Oracle中SQL语句执行效率的查找与解决

    本文将深入探讨Oracle中SQL语句执行效率的查找与解决方法,特别关注于如何识别和优化那些导致性能瓶颈的查询。 ### Oracle SQL执行效率:查找与解决 #### 一、资源消耗分析 在Oracle中,SQL语句执行效率低下通常...

    Oracle数据库sql语句 跟踪器

    Oracle数据库SQL语句跟踪器,通常被称为SQL Monitor,是一种强大的工具,用于监控和分析数据库中的SQL语句执行情况。在Oracle环境中,理解SQL语句的行为是优化数据库性能的关键。SQL Monitor提供实时视图,帮助DBA...

    oracle 查看当前会话执行的sql语句

    ### Oracle 查看当前会话执行的SQL语句 在Oracle数据库管理中,有时我们需要了解某个特定会话(Session)正在执行哪些SQL语句。这在性能调优、问题诊断等场景下尤为重要。以下将详细介绍如何通过不同的方法来查看...

    oracle查看执行最慢与查询次数最多的sql语句

    本文将详细介绍如何查看Oracle数据库中执行最慢和查询次数最多的SQL语句,以帮助DBA(数据库管理员)识别潜在的性能瓶颈。 首先,我们来看如何查询执行最慢的SQL语句。在Oracle中,可以使用`v$sqlarea`视图来获取...

    [自己开发]一款非常好用的抓取Oracle数据库SQL语句的工具

    Oracle SQL Profiler,自己设计算法写的一款非常好用的抓取Oracle数据库SQL语句的工具,可以再没有源码的情况下监控ORACLE数据库服务器的v$sqlarea视图抓取出从点击开始按钮到点击结束按钮期间执行过的SQL语句。...

    oracle监听执行sql语句

    ### Oracle监听执行SQL语句详解 #### 一、Oracle监听执行概述 在Oracle数据库管理与维护过程中,有时候我们需要了解应用程序正在执行哪些SQL语句,这不仅有助于性能优化,还可以帮助我们诊断潜在的问题。通过监听...

    sqlserver自动生成sql语句工具sqlserver转oracle

    本篇文章将详细探讨如何利用工具实现SQL Server自动生成SQL语句并转换到Oracle。 首先,标题中的"sqlserver自动生成sql语句工具"指的是可以分析SQL Server数据库结构和数据,自动生成对应的SQL创建语句的软件。这种...

    Oracle基本sql语句

    Oracle数据库是全球最广泛使用的数据库管理系统之一,它遵循SQL标准,提供了一套强大的SQL语句,使得数据库操作变得高效和灵活。在Oracle数据库中,SQL语句是与数据库进行交互的主要方式。本文将总结一些Oracle基本...

    oracle sql语句学习

    Oracle SQL语句是数据库管理与数据查询的重要工具,尤其在Oracle数据库系统中,掌握SQL的高效使用至关重要。这个"oracle sql语句学习"资源包显然旨在帮助初学者逐步提升到高级水平,通过全面的笔记资料,使用户能够...

    ORACLE_SQL语句

    根据给定的文件信息,以下是对Oracle SQL语句的关键知识点的详细解读: ### Oracle SQL语句概述...以上就是Oracle SQL语句的一些基础知识点,通过理解和掌握这些概念,你可以更有效地查询和操作Oracle数据库中的数据。

    Oracle数据库sql转换mysql数据库工具

    "Oracle数据库sql转换mysql数据库工具" 提供了解决这一问题的解决方案,允许用户将Oracle数据库中的SQL语句或数据结构转换为MySQL兼容的格式。 在数据库迁移过程中,这样的工具至关重要,因为它可以简化工作流程,...

Global site tag (gtag.js) - Google Analytics