我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Oracle的表如何连接

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Oracle的表如何连接

这篇文章主要介绍Oracle的表如何连接,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

Oracle表连接方法有四种:
  ● 排序合并连接(Sort Merge Join)
  ● 嵌套循环连接(Nested Loops Join)
  ● 哈希连接(Hash Join)
  ● 笛卡尔积(Cartesian Product)

如果where条件有exists、in或=any操作符+子查询,则Oracle会将其处理为半连接,执行计划中对应的关键字为SEMI。

SQL> select department_id,department_name from departments d where exists (select 1 from employees e where d.department_id = e.department_id and e.salary > 2500);

11 rows selected.


Execution Plan
----------------------------------------------------------
Plan hash value: 2188966913

--------------------------------------------------------------------------------------------
| Id  | Operation                    | Name        | Rows  | Bytes | Cost (%CPU)| Time     |
--------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT             |             |    10 |   230 |     6  (17)| 00:00:01 |
|   1 |  MERGE JOIN SEMI             |             |    10 |   230 |     6  (17)| 00:00:01 |
|   2 |   TABLE ACCESS BY INDEX ROWID| DEPARTMENTS |    27 |   432 |     2   (0)| 00:00:01 |
|   3 |    INDEX FULL SCAN           | DEPT_ID_PK  |    27 |       |     1   (0)| 00:00:01 |
|*  4 |   SORT UNIQUE                |             |   105 |   735 |     4  (25)| 00:00:01 |
|*  5 |    TABLE ACCESS FULL         | EMPLOYEES   |   105 |   735 |     3   (0)| 00:00:01 |
--------------------------------------------------------------------------------------------

SQL> select department_id,department_name from departments d where department_id in (select department_id from employees e where d.department_id = e.department_id and e.salary > 2500);

11 rows selected.


Execution Plan
----------------------------------------------------------
Plan hash value: 2188966913

--------------------------------------------------------------------------------------------
| Id  | Operation                    | Name        | Rows  | Bytes | Cost (%CPU)| Time     |
--------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT             |             |    10 |   230 |     6  (17)| 00:00:01 |
|   1 |  MERGE JOIN SEMI             |             |    10 |   230 |     6  (17)| 00:00:01 |
|   2 |   TABLE ACCESS BY INDEX ROWID| DEPARTMENTS |    27 |   432 |     2   (0)| 00:00:01 |
|   3 |    INDEX FULL SCAN           | DEPT_ID_PK  |    27 |       |     1   (0)| 00:00:01 |
|*  4 |   SORT UNIQUE                |             |   105 |   735 |     4  (25)| 00:00:01 |
|*  5 |    TABLE ACCESS FULL         | EMPLOYEES   |   105 |   735 |     3   (0)| 00:00:01 |
--------------------------------------------------------------------------------------------

SQL> select department_id,department_name from departments d where department_id=any(select department_id from employees e where d.department_id = e.department_id and e.salary > 2500);

11 rows selected.


Execution Plan
----------------------------------------------------------
Plan hash value: 2188966913

--------------------------------------------------------------------------------------------
| Id  | Operation                    | Name        | Rows  | Bytes | Cost (%CPU)| Time     |
--------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT             |             |    10 |   230 |     6  (17)| 00:00:01 |
|   1 |  MERGE JOIN SEMI             |             |    10 |   230 |     6  (17)| 00:00:01 |
|   2 |   TABLE ACCESS BY INDEX ROWID| DEPARTMENTS |    27 |   432 |     2   (0)| 00:00:01 |
|   3 |    INDEX FULL SCAN           | DEPT_ID_PK  |    27 |       |     1   (0)| 00:00:01 |
|*  4 |   SORT UNIQUE                |             |   105 |   735 |     4  (25)| 00:00:01 |
|*  5 |    TABLE ACCESS FULL         | EMPLOYEES   |   105 |   735 |     3   (0)| 00:00:01 |
--------------------------------------------------------------------------------------------

以上是“Oracle的表如何连接”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Oracle的表如何连接

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Servlet如何连接Oracle

这篇文章给大家分享的是有关Servlet如何连接Oracle的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。把oracle的驱动$ORACL_HOME/jdbc/lib/ojdbc6.jar拷贝到D:\Tomcat
2023-06-02

mysql表与表之间如何连接

在MySQL中,表与表之间可以通过JOIN操作进行连接。JOIN操作是通过列值之间的匹配将两个或多个表中的数据关联起来。在JOIN操作中,需要指定连接的条件,以确定如何将数据匹配起来。常见的JOIN操作有以下几种:1. INNER JOIN
2023-08-11

Oracle表连接操作——Hash Join(哈希连接)上

在Oracle中,确定连接操作类型是执行计划生成的重要方面。各种连接操作类型代表着不同的连接操作算法,不同的连接操作类型也适应于不同的数据量和数据分布情况。 无论是Nest Loop Join(嵌套循环),还是Merge Sort Jo
2023-06-06

Oracle表连接操作——Hash Join(哈希连接)下

Hash Join是Oracle CBO时代经常出现的一种连接方式,对海量数据处理时经常出现在执行计划里。本篇的上篇(http://space.itpub.net/17203031/viewspace-697442) 介绍了Hash Jo
2023-06-06

oracle表连接的方式有哪些

在Oracle数据库中,表连接的方式主要有以下几种:内连接(INNER JOIN):内连接是最常用的连接方式,它只返回两个表之间满足连接条件的行。可以使用关键字INNER JOIN 或者简化的语法(使用WHERE子句进行条件连接)来进行内连
oracle表连接的方式有哪些
2024-05-08

ODBC连接Oracle时如何管理并发连接

在使用ODBC连接Oracle数据库时,可以通过以下几种方式来管理并发连接:使用连接池:连接池可以在应用程序启动时创建一定数量的连接,并将这些连接保存在连接池中。当应用程序需要连接数据库时,可以从连接池中获取一个可用连接,使用完毕后再将连接
ODBC连接Oracle时如何管理并发连接
2024-07-15

如何配置python连接oracle

这篇文章将为大家详细讲解有关如何配置python连接oracle,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、配置python连接oracle并测试成功网上有不少教程,但大部分都没那么详细,并且也没有
2023-06-14

oracle如何连接数据库

Oracle数据库可以通过多种方式进行连接,其中最常见的方式是使用SQL*Plus或SQL Developer工具连接到数据库。具体步骤如下:使用SQL*Plus连接数据库:打开命令行窗口,输入“sqlplus”命令并按回车键。输入用户名
oracle如何连接数据库
2024-04-13

如何连接oracle数据库

连接oracle数据库需要以下步骤:获取连接信息(主机名、端口号、服务名称、用户名、密码)选择连接方法(sql*plus、sql developer、jdbc、odbc)使用相应的方法建立连接如何连接 Oracle 数据库连接 Oracl
如何连接oracle数据库
2024-06-12

navicat如何配置连接oracle

要使用 navicat 连接 oracle 数据库,请依次执行以下步骤:1. 创建新连接(连接类型为 oracle);2. 配置连接参数(包括主机名/ip、端口、服务名、用户名、密码);3. 启用高级选项(可选);4. 测试连接;5. 保存
navicat如何配置连接oracle
2024-04-23

oracle表连接的方式有哪几种

内连接(INNER JOIN):返回两个表中符合连接条件的记录。外连接(OUTER JOIN):包括左外连接(LEFT JOIN)、右外连接(RIGHT JOIN)和全外连接(FULL JOIN),分别返回包括无匹配的记录的连接结果。自连接
oracle表连接的方式有哪几种
2024-04-09

编程热搜

目录