一、内连接和外连接
内连接用于返回满足连接条件的记录;而外连接则是内连接的扩展,它不仅会满足连接条件的记录,而且还会返回不满足连接条件的记录,语法如下:
Oracle代码
1. 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用于指定连接条件。
注意:如果使用from内、外连接,则必须使用on操作符指定连接条件;如果使用(+)操作符连接,则必须使用where指定连接条件。
1、内连接
内连接查询返回满足条件的所有记录,默认情况下没有指定任何连接则为内连接,例如:
Oracle代码
1. select t1.name,t2.name from cip_temps t1 inner join cip_tmp t2 on t1.ID=t2.id;
2、左外连接
左外连接查询不仅返回满足条件的所有记录,而且还会返回不满足连接条件的连接操作符左边表的其他行,例如:
Oracle代码
1. select t1.name,t2.name from cip_temps t1 left join cip_tmp t2 on t1.ID=t2.id;
3、右外连接
右外连接查询不仅返回满足调价的所有记录,而且还会返回不满足连接条件的连接操作符右边表的其他行,例如:
Oracle代码
1. select t1.name,t2.name from cip_temps t1 right join cip_tmp t2 on t1.ID=t2.id;
4、全连接
全连接查询不仅返回满足调价的所有记录,而且还会返回不满足连接条件的其他行,例如:
Oracle代码
1. 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代码
1. select table1.column,table2.column from table1,table2 where table1.column(+)=table2.column;
注意:
· 当使用(+)操作符执行外连接时,应当将该操作符放在显示较少行(完全满足连接条件行)一端。
· (+)操作符只能出现在where子句中,并且不能与outer join语法同时使用。
· 当使用(+)操作符执行外连接时,如果在where语句中包含多个条件,则必须在所有的条件中都包含(+)操作符。
· (+)操作符只能适用于列,而不能适用于表达式。
· (+)操作符不能与or和in操作符一起使用。
· (+)操作符只能用于左外连接和右外连接,不能用于实现完全连接。
(1)、使用(+)操作符执行左外连接
当使用左外连接时,不仅会返回满足连接条件的所有行,而且还会返回不满足连接条件的左边边的其他行。因为(+)操作符要放到行数较少的一端,所以在where子句中应当将该操作符放到右边表的一端,示例如下:
Oracle代码
1. 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;
分享到:
相关推荐
本篇文章将详细介绍在Java中连接Oracle数据库的几种常见方法,以及相关的源码示例。 1. JDBC-ODBC桥连接: JDBC-ODBC桥是Java早期连接数据库的一种方式,它依赖于操作系统上的ODBC数据源。首先,你需要在系统中...
Java面试的准备可以分为几个部分,其中最重要的部分是Java技术相关,包括了Java的基础知识、核心API的解读以及Java中高级技术的理解。同时,面试者应该熟悉应聘流程,了解如何撰写简历,以及在面试中如何谈论福利...
46、java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用? 29 47、sleep() 和 wait() 有什么区别? 30 48、同步和异步有何异同,在什么情况下分别使用他们?举例说明...
`Class`对象可以由以下几种方式获取: 1. **通过类的`Class`属性获取**:如`String.class`。 2. **通过对象的`getClass()`方法获取**:如`new String().getClass()`。 3. **通过`Class`类的静态方法`forName()`获取...
这个“JAVA面试题最新全集.chm”文件很可能是包含了上述所有领域的经典面试题及解析,通过深入学习和理解这些题目,不仅能帮助面试者顺利通过面试,还能提升他们的编程素养和实战能力。在准备面试时,除了熟悉这些...
XML解析有哪几种?** 主要有DOM(Document Object Model)、SAX(Simple API for XML)和StAX(Streaming API for XML)三种。 **7. 简述AJAX** AJAX(Asynchronous JavaScript and XML)是一种在无需重新加载整个...
7. 目前几种主流数据库软件的应用特点、适用范围各是什么? 国际国内的主导关系型数据库管理系统有 SQL Server、Oracle、SYBASE、INFORMIX 和 DB2。每种数据库软件都有其特点和适用范围,例如 SQL Server 的性能和...
Java面试是每位Java开发者职业生涯中不可或缺的一环,无论是初入职场还是寻求晋升,都需要通过面试来展示自己的技术实力。这份“java面试 初中高级适用 最详细全面 私人珍藏”压缩包文件包含了五个PDF文档,分别命名...
以上只是部分常考的Java面试知识点,实际面试中可能会涉及更多深入的技术细节和实际问题解决能力。在准备面试时,不仅需要理解这些概念,还要通过实践加深理解,提升自己的编程和解决问题的能力。
│ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+Hibernate+Spring轻量级J2EE企业应用实战.pdf │ Struts中文手册.pdf │ ...
│ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+Hibernate+Spring轻量级J2EE企业应用实战.pdf │ Struts中文手册.pdf │ ...
下面我们将深入探讨Java面试中的核心知识点以及如何制作一份出色的Java程序员简历。 面试宝典通常会涵盖以下几个关键部分: 1. **基础知识**:面试开始时,面试官往往会检查候选人的基础理论知识,包括但不限于...
8. **设计模式**:至少应熟悉几种常见的设计模式,如单例模式、工厂模式、抽象工厂模式、建造者模式、适配器模式、装饰者模式、代理模式、观察者模式等,并能在实际项目中应用。 9. **JVM**:理解Java虚拟机的工作...
以上知识点涵盖了Java工程师面试中常见的技术细节,包括但不限于数据库查询优化、网络协议理解、Java集合框架的理解以及Web开发中Servlet的基本概念等。对于准备参加Java工程师面试的人来说,深入理解这些知识点是...
9. **设计模式**:至少熟悉并能解释常用的几种设计模式,如单例、工厂、装饰器、代理、观察者等,以及它们在实际问题中的应用。 10. **JVM调优**:理解JVM参数配置,如-Xms, -Xmx, -XX:NewRatio等,以及如何根据...
Java面试宝典2017版是一本专为Java开发者准备的面试指南,它涵盖了Java编程语言、框架、设计模式、并发编程、数据库、网络、操作系统等多个方面的核心知识点,旨在帮助求职者在面试中展现出扎实的技术功底。...
在Java面试中,掌握核心概念和技术是至关重要的。"java面试资料集合面试资料"这个标题表明这是一份针对Java求职者的面试准备资源。标签"java 求职面试"进一步强调了这些材料专注于Java编程语言及其在面试环境中的...
### 一些比较经典的Java面试题解析 #### 1、JSP有哪几个内置对象? JSP(JavaServer Pages)提供了九个内置对象,这些...以上是对题目中提到的几个经典Java面试题的详细解析。希望这些内容能帮助您更好地准备面试。
从给定的文件标题、描述、标签以及部分内容中可以提炼出关于Oracle技术面试的重要知识点,以下将对这些知识点进行详细解读: ### Oracle 技术面试背景 - **Oracle专业人员需求**:随着IT行业的快速发展,Oracle...