`

oracle多表连接

阅读更多

多表连接:
查询的一种,数据来源不再是单一的一个表,我们可以重多个表中提取相关联的数据,比如,从emp和dept表中找出人员 所在的部门名称,----多个表来联合查询


1.查询的时候,可以from多个表
SELECT * FROM EMP,DEPT
这样会产生一个笛卡尔集

表示:两个表任何组合的结果


2.需求:取关联数据
我的部门20号,我想要20号部门的名称====连接条件


select emp.ename,dept.dname from emp,dept where emp.deptno=dept.deptno


3.语法格式:
select 字段 from 表1,表2 where 表1.列=表2.列
select empno,ename,d.deptno,dname from emp e,dept d where e.deptno=d.deptno

当然,你可以为表定义一个别名,但是不能使用as(字段重命名可以使用)

不同的连接条件可以使用and或or
select empno,ename,d.deptno,dname,e.sal from emp e,dept d where e.deptno=d.deptno And sal>1600

 

4.使用不等值连接
连接条件:一个表中的记录,在另一个表中能够找到匹配的记录即可
Select e.*,g.grade From emp e,salgrade g Where e.sal Between g.losal And g.hisal

 

5.外连接:把不满足条件的数据显示出来
Select * From EMP E,DEPT D Where E.DEPTNO=D.DEPTNO(+)
外连接可以在左表,也可以在右表


6.自连接
从同一个表中联合查询
Select E.ENAME,P.ENAME From EMP E,EMP P Where E.MGR=P.EMPNO

-----sql1999:
7.交叉连接:
其结果是笛卡尔集,是没加任何条件所产生出来的数据集合

8.自然连接:默认情况下,以两个表中有相同名称的列来进行连接查询
Select * From EMP Natural Join DEPT

其效果相当于
select * from emp,dept where emp.deptno=dept.deptno

9.使用using子句来查询
select * from emp join dept using(deptno)

10.使用on子句
使用on来指定连接具体条件
Select * From EMP Join DEPT On  emp.deptno=dept.deptno And EMP.DEPTNO=20


多个表连接查询

Select  E.ENAME,E.SAL,D.DNAME,S.GRADE
 FROM EMP E Join DEPT D On E.DEPTNO=D.DEPTNO
Join SALGRADE S On E.SAL Between S.LOSAL And S.HISAL

11.外连接:
与内连接的区别:
内连接========查询条件相等的记录(能够匹配的)
外连接========条件相等 的+没匹配的

Select * From EMP E Left Outer Join DEPT D On E.DEPTNO=D.DEPTNO
Select * From EMP E Right Outer Join DEPT D On E.DEPTNO=D.DEPTNO
Select * From EMP E Full Outer Join DEPT D On E.DEPTNO=D.DEPTNO

分享到:
评论

相关推荐

    Oracle 多表连接

    介绍SQL语句中的多表连接查询。主要讲解了表连接的形式和笛卡尔积,程序也重点讲解了表的左连接、右连接、自然连接等基本概念。

    Oracle多表连接练习

    Oracle数据库中的多表连接是数据库查询中的核心技巧,它允许我们从多个相关的表中获取信息。在本实验中,我们将通过一系列练习题来深入理解Oracle的多表连接操作。 1. 第一个练习展示了如何通过内连接(INNER JOIN...

    Oracle 多表连接讲解(PDF格式)

    如果你仍然对oracle的坐连接,右连接,自连接等连接的概念、意义及其用法很模糊的话,这个文档一定会让你有一个豁然开朗的感觉,当然,这里还有个关于sqlplus的文档,可以帮助你很顺利的完成操作。

    关于Oracle多表连接,提高效率,性能优化操作

    这是因为ORACLE只对简单的表提供高速缓冲(cache buffering) ,这个功能并不适用于多表连接查询..数据库管理员必须在init.ora中为这个区域设置合适的参数,当这个内存区域越大,就可以保留更多的语句,当然被共享的可能性...

    Oracle 多表查询优化

    在 Oracle 中,多表连接的效率取决于连接的方式和顺序。 Oracle 使用的是一种称为“成本优化器”的机制,来确定最优的连接顺序和方式。成本优化器会根据表的统计信息、索引、约束等因素来确定最优的连接顺序。 为了...

    一些ORACLE多表连接查询

    一些ORACLE的表链接查询。求最高,最低,排序

    Oracle数据库表连接方式及常见用法

    Oracle 数据库表连接方式是指在数据库中连接两个或多个表以获取所需的数据。这些连接方式包括相等连接、外连接、不等连接、自连接和哈希连接等。本文将详细介绍这些连接方式的定义、使用方法和实例。 一、相等连接 ...

    ORACLE多表查询优化

    Oracle 多表查询优化需要考虑多个方面,包括选择合适的表名顺序、使用 Cache Buffer、语句共享、优化查询路径、避免多表连接查询、优化数据统计、选择合适的索引、优化数据库结构、使用 Materialized View、优化...

    ORACLE 多表查询与数据修改

    通过本节的学习,您将能够掌握如何利用Oracle数据库进行多表连接查询,以实现对三个或四个表的有效联合查询。 - **熟练掌握DELETE、UPDATE与INSERT的语法**:这些是数据库操作中的基础,也是最常用的操作之一。您将...

    Oracle中表的连接及其调整.

    Oracle 数据库中的表连接是构建复杂 SQL 查询的基础,它允许从多个表中组合数据。连接方法的选择直接影响到查询性能,因此了解各种连接类型及其适用场景至关重要。本文将深入探讨 Oracle 中的三种主要连接方式:嵌套...

    Oracle表连接方式

    Oracle表连接方式是指在数据库中连接多个表以获取所需数据的方法。根据不同的数据集和查询需求,Oracle提供了多种表连接方式,包括NESTED LOOP、HASH JOIN和SORT MERGE JOIN等。 NESTED LOOP NESTED LOOP是一种...

    Oracle的三种表连接方式

    "Oracle 的三种表连接方式详解" Oracle 的三种表连接方式是指在做表 join 的时候, Oracle 有三种方式,分别是:sort merge join(SMJ) ·nest loop(NL) ·hash join(HJ)。下面是对这三种策略的详细讲解: sort ...

    sap 与 oracle数据库的连接

    SAP与Oracle数据库的连接 SAP系统与Oracle数据库的连接是SAP开发中的一个重要步骤,该连接允许SAP系统访问Oracle数据库中的数据,实现数据交换和共享。在本文中,我们将详细介绍SAP开发中模块连接Oracle数据库的...

    oracle数据库表左连接右连接全连接的认识

    Oracle 数据库表连接(Join)是指从两个或多个表中检索数据,并且将它们组合成一个结果集的操作。连接操作可以大大提高数据库查询的效率,特别是在需要访问多个表中的字段时。 连接的基本结构 连接的基本结构是一...

    oracle 左连接 右连接学习

    Oracle 中的连接(Join)是一种强大的工具,用于将两个或多个表合并成一个结果集。在学习 Oracle 连接时,可能会感到困惑,因为有多种类型的连接,每种类型都有其特点和应用场景。下面我们将详细介绍 Oracle 中的左...

    Oracle数据库3种主要表连接方式对比

    在Oracle数据库中,为了获取来自多个表的数据,我们需要使用不同的连接方式来实现这一目的。本文将详细介绍三种主要的表连接方式:嵌套循环连接(Nested Loop Join,简称NL Join)、排序合并连接(Sort Merge Join,...

    ORACLE表连接方式分析及常见用法

    首先,我们了解表连接的基本概念,它通过FROM子句中的多个表和WHERE子句中的连接条件来组合数据。Oracle提供了多种连接类型,包括嵌套循环连接、群集连接、排序合并连接、笛卡尔连接、哈希连接和索引连接。 1. 嵌套...

    Oracle Spatial与ArcGIS连接

    - **字段映射:**正确映射Oracle数据库中的字段到ArcGIS中的相应属性表。 **4.2 性能优化** - **索引构建:**为Oracle Spatial中的空间数据建立适当的索引,以提高查询效率。 - **查询优化:**利用SQL语句优化技术...

Global site tag (gtag.js) - Google Analytics