一.首先在本地数据库中执行如下sql操作
create table test_table_user(id number primary key,name varchar(32));
create table test_table_order(id number primary key,des varchar(32),user_id number,foreign key(user_id) references test_table_user(id));
select *from test_table_user;
select *from test_table_order;
insert into test_table_user(id, name) values(1,'cuiyaonan20');
insert into test_table_user(id, name) values(2,'cuiyaonan200');
insert into test_table_user(id, name) values(3,'cuiyaonan2000');
insert into test_table_user(id, name) values(4,'cuiyaonan2000@163.com');
insert into test_table_order values(1,'cuiyaonan20 des',1);
insert into test_table_order values(2,'cuiyaonan200 des',2);
insert into test_table_order values(3,'cuiyaonan2000 des',3);
insert into test_table_order(id,des) values(4,'cuiyaonan2000@163.com des');
plsql显示内容如下所示:
![](http://dl.iteye.com/upload/attachment/0079/0199/7a645759-4d9e-38c0-be97-dd2d8960c369.png)
![](http://dl.iteye.com/upload/attachment/0079/0201/d61bb5e2-5257-3092-9507-652690ff48bd.png)
二. 左外连接
实现方式1
select * from test_table_user left outer join test_table_order on test_table_user.id = test_table_order.user_id;
显示数据为:
![](http://dl.iteye.com/upload/attachment/0079/0203/6e559f19-28b6-34e3-83a2-a907140323ae.png)
实现方式2:
select *from test_table_user ,test_table_order where test_table_user.id = test_table_order.user_id(+);
显示数据为
![](http://dl.iteye.com/upload/attachment/0079/0203/6e559f19-28b6-34e3-83a2-a907140323ae.png)
方式1与方式2完全一致, oracle 规范推荐用方式1
三. 右外连接
方式1:
select *from test_table_user right outer join test_table_order on test_table_user.id = test_table_order.user_id;
显示数据为:
![](http://dl.iteye.com/upload/attachment/0079/0206/135b7ac0-5003-3d4b-b12d-5dcbbb959709.png)
方式2:
select *from test_table_user ,test_table_order where test_table_user.id(+) = test_table_order.user_id;
显示数据位:
![](http://dl.iteye.com/upload/attachment/0079/0206/135b7ac0-5003-3d4b-b12d-5dcbbb959709.png)
四.全连接
执行sql:
select * from test_table_user full join test_table_order on test_table_user.id = test_table_order.user_id;
显示结果:
![](http://dl.iteye.com/upload/attachment/0079/0210/3ab8914f-c16a-3c09-aa93-731b0a195f6b.png)
五 where 后条件连接
执行sql:
select *from test_table_user ,test_table_order where test_table_user.id = test_table_order.user_id;
显示结果:
![](http://dl.iteye.com/upload/attachment/0079/0212/14fcac1a-4a84-3b4e-bc8b-a51b6844cd62.png)
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0079/0199/7a645759-4d9e-38c0-be97-dd2d8960c369-thumb.png)
- 大小: 3.7 KB
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0079/0201/d61bb5e2-5257-3092-9507-652690ff48bd-thumb.png)
- 大小: 4.4 KB
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0079/0203/6e559f19-28b6-34e3-83a2-a907140323ae-thumb.png)
- 大小: 5.2 KB
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0079/0206/135b7ac0-5003-3d4b-b12d-5dcbbb959709-thumb.png)
- 大小: 4.7 KB
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0079/0210/3ab8914f-c16a-3c09-aa93-731b0a195f6b-thumb.png)
- 大小: 3.3 KB
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0079/0212/14fcac1a-4a84-3b4e-bc8b-a51b6844cd62-thumb.png)
- 大小: 4.3 KB
分享到:
相关推荐
例如,通过左连接和右连接的组合,可以实现全连接(Full Join),获取两个表的所有记录。同时,还可以结合使用WHERE子句和聚合函数(如COUNT, SUM, AVG等)来过滤和统计数据。 了解并熟练掌握这些连接方式,对于...
"SQL Server 连接 Oracle 方法" SQL Server 连接 Oracle 方法是数据库管理系统中的一个重要话题。本文将详细介绍如何在 SQL Server 中连接 Oracle 数据库,并解决在连接过程中可能出现的问题。 安装 Oracle 客户端...
### Oracle SQL优化实例详解 #### 一、减少I/O操作 在Oracle数据库中,I/O操作通常是查询执行过程中最耗时的部分之一。因此,减少I/O操作可以显著提高查询性能。 **示例代码:** ```sql SELECT COUNT(CASE WHEN ...
- 使用SQL*Plus或其他工具连接到实例。 - 启动到nomount状态是为了避免与现有数据库冲突,并允许进行创建数据库操作: ```sql startup nomount ``` ##### 7. 执行创建脚本 - 在nomount状态下执行创建数据库的...
内连接(INNER JOIN)返回匹配的行,左连接(LEFT JOIN)返回左表所有行及右表匹配行,右连接(RIGHT JOIN)反之,全连接(FULL JOIN)返回所有匹配和不匹配的行。 五、子查询 子查询是在主查询内部的查询,可以用于获取...
2. **联接操作**:包括内连接、外连接(左连接、右连接、全连接)以及自连接。这些操作在处理多个表之间的关系时至关重要,书中会详细介绍它们的用法和适用场景。 3. **聚合函数与分组**:GROUP BY、HAVING子句和...
1. **SQL优化**:优化SQL语句是提升性能的关键,包括避免全表扫描,使用索引,减少子查询,合理使用连接方式等。 2. **绑定变量**:使用绑定变量可以防止硬解析,提高SQL执行效率,减少解析开销。 3. **执行计划**...
- **连接查询**:Oracle支持多种连接类型,包括内连接、外连接(左连接、右连接、全连接)。 - **索引优化**:Oracle支持B树索引、位图索引、函数索引等,有效提升查询速度。 - **游标**:处理单行或多行结果集,...
Oracle SQL是数据库管理员和开发人员在Oracle数据库系统中进行数据查询和管理的重要工具。这本书《从实践中学习Oracle SQL》显然是一本旨在帮助新手快速掌握Oracle SQL语法和实践操作的教材。书中很可能涵盖了以下...
【Oracle SQL性能优化】 Oracle SQL性能优化是数据库开发人员必须掌握的关键技能,它涉及到SQL语句的编写、执行过程、优化器的选择以及执行计划的分析等多个方面。在Oracle数据库环境中,优化SQL性能对于提升系统...
例如,Oracle的驱动类可能是`oracle.jdbc.driver.OracleDriver`,而SQL Server的可能是`com.microsoft.sqlserver.jdbc.SQLServerDriver`,连接URL也会根据实际的数据库服务器和实例进行调整。 总的来说,JDBC提供了...
本资料包“Oracle SQL练习题及答案_最全最新”提供了一系列关于Oracle SQL的基础查询语句实例,旨在帮助学习者巩固和提升SQL语法的应用能力。 首先,Oracle SQL的基本查询语句包括SELECT、FROM、WHERE、GROUP BY、...
概述:本文将详细介绍 C#.NET 连接各种数据库的机制,包括 Oracle、MySQL、ACCESS、SQL Server 等。通过了解连接不同数据库的方法和参数,我们可以更好地应用 C#.NET 在数据库开发中。 一、C# 连接 SQL Server ...
《Oracle执行计划与SQL优化实例》这一主题深入探讨了数据库管理与优化的关键方面,尤其针对Oracle数据库环境。本文旨在解析并扩展此PPTX文件中提及的重要知识点,涵盖执行计划的概念、获取方法、解读技巧以及SQL优化...
指定Oracle数据库的连接URL,格式为`jdbc:oracle:thin:@<IP>:<PORT>:<SERVICE_NAME>`,例如`jdbc:oracle:thin:@192.168.168.14:1521:orcl`,这里的IP是数据库服务器的地址,PORT是数据库监听的端口,通常为1521,...
Oracle数据库是全球广泛使用的大型关系型数据库系统,其SQL语法丰富多样,对于DBA(数据库管理员)来说,熟练掌握Oracle ..."ora常用sql"文件很可能是对这些概念和用法的实例展示,对于深入理解Oracle SQL非常有价值。
这涉及到选择合适的索引、避免全表扫描、利用连接优化、使用子查询优化以及理解执行计划等技术。 3. **PL/SQL编程**:Oracle的PL/SQL是一种过程化语言,用于编写存储过程、函数、触发器等。掌握PL/SQL语法、异常...
### Oracle SQL脚本优化实例详解 #### 一、概述 在Oracle数据库的日常维护与管理过程中,SQL性能优化是一项至关重要的工作。一个低效的SQL查询不仅会消耗大量的系统资源,还可能导致应用响应时间延长,进而影响...
2. 连接查询:JOIN操作允许将多个表的数据合并,包括内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)和全连接(FULL JOIN)。 3. 分组与聚合函数:GROUP BY用于对数据进行分组,常与COUNT、SUM、AVG、MAX...