广告
返回顶部
首页 > 资讯 > 数据库 >Oracle的表如何连接
  • 348
分享到

Oracle的表如何连接

2024-04-02 19:04:59 348人浏览 泡泡鱼
摘要

这篇文章主要介绍oracle的表如何连接,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Oracle表连接方法有四种:  ● 排序合并连接(Sort Merge Join)&

这篇文章主要介绍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的表如何连接”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网数据库频道!

您可能感兴趣的文档:

--结束END--

本文标题: Oracle的表如何连接

本文链接: https://www.lsjlt.com/news/64580.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • Oracle的表如何连接
    这篇文章主要介绍Oracle的表如何连接,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Oracle表连接方法有四种:  ● 排序合并连接(Sort Merge Join)&...
    99+
    2022-10-18
  • oracle中表的左右连接
    select tp.technic_product_code,       tp.technic_product_name,    &n...
    99+
    2022-10-18
  • Oracle表连接操作——Hash Join(哈希连接)下
     Hash Join是Oracle CBO时代经常出现的一种连接方式,对海量数据处理时经常出现在执行计划里。本篇的上篇(http://space.itpub.net/17203031/viewspace-697442) ...
    99+
    2023-06-06
  • Oracle表连接操作——Hash Join(哈希连接)上
     在Oracle中,确定连接操作类型是执行计划生成的重要方面。各种连接操作类型代表着不同的连接操作算法,不同的连接操作类型也适应于不同的数据量和数据分布情况。  无论是Nest Loop Join(嵌套循环),...
    99+
    2023-06-06
  • Servlet如何连接Oracle
    这篇文章给大家分享的是有关Servlet如何连接Oracle的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。把oracle的驱动$ORACL_HOME/jdbc/lib/ojdbc6.jar拷贝到D:\Tomcat...
    99+
    2023-06-02
  • SQL中如何连接Oracle
    SQL中如何连接Oracle,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、设置PL/SQL,添加服务名称打开Net Manager:开始&...
    99+
    2022-10-18
  • 如何配置Oracle连接
    本篇文章为大家展示了如何配置Oracle连接,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1 连接数据库的方式oracle的连接串有几部分构成,这里就按sqlplu...
    99+
    2022-10-18
  • 表连接之连接的类型
        顾明思义,表连接就是指多个表之间用连接条件连接在一起,使用连接的目标sql的目的就是从多个表获取存储在这些表中的不同维度的数据。体现在sql语句上,含表连接的...
    99+
    2022-10-18
  • oracle的JDBC连接
    package com.xian.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.Prepared...
    99+
    2022-10-18
  • mysql表与表之间如何连接
    在MySQL中,表与表之间可以通过JOIN操作进行连接。JOIN操作是通过列值之间的匹配将两个或多个表中的数据关联起来。在JOIN操...
    99+
    2023-08-11
    mysql
  • 如何配置python连接oracle
    这篇文章将为大家详细讲解有关如何配置python连接oracle,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、配置python连接oracle并测试成功网上有不少教程,但大部分都没那么详细,并且也没有...
    99+
    2023-06-14
  • Oracle多表查询,四种连接方式
     一、聚合函数:(都会忽略null数据)        1、常用的有5种:将字段中所有的数据聚合在一条中            1、sum(字段名)        :求总和                2、avg(字段名)        ...
    99+
    2016-06-30
    Oracle多表查询,四种连接方式 数据库入门 数据库基础教程 数据库 mysql
  • 如何删除oracle的用户连接
    1)查看用户的连接状况select username,sid,serial# from v$session;------------------------------------------(2...
    99+
    2022-10-18
  • oracle表连接的方法和类型有哪些
    这篇文章主要讲解了“oracle表连接的方法和类型有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“oracle表连接的方法和类型有哪些”吧!一、表连接就...
    99+
    2022-10-18
  • SQL中如何连接JOIN表
    本篇文章给大家分享的是有关SQL中如何连接JOIN表,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。CROSS JOIN(交叉连接)最基本的JO...
    99+
    2022-10-18
  • oracle如何使用odbc连接dm7
    小编给大家分享一下oracle如何使用odbc连接dm7,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1       ...
    99+
    2022-10-19
  • navicat如何连接oracle数据库
    小编给大家分享一下navicat如何连接oracle数据库,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、Navicat for Oracle的安装软件的安装就不多说了,基本都是一直下一...
    99+
    2022-10-18
  • jdbc如何连接oracle数据库
    要连接Oracle数据库,您需要执行以下步骤:1. 获取Oracle JDBC驱动程序:首先,您需要下载并获取Oracle JDBC...
    99+
    2023-08-08
    jdbc oracle
  • 有哪些Oracle表连接方式的优化方法
    有哪些Oracle表连接方式的优化方法?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在Oracle数据库中,两个表之间的表连接方法有排序合...
    99+
    2022-10-18
  • 使用navicat如何连接远程的oracle
    这篇文章给大家分享的是有关使用navicat如何连接远程的oracle的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。Navicat Premium算是比较好的一个可视化数据库管理...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作