`
litxuf
  • 浏览: 123460 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ORCAL 连接查询的注意事项

阅读更多

讲外连接之前,先举例介绍内连接,也就是一般的相等连接。

select * from a, b where a.id = b.id;

对于外连接,oracle中可以使用“(+)”来表示,9i可以使用left/right/full outer join,下面将配合实例一一介绍。

1. left outer join:左外关联


select e.last_name, e.department_id, d.department_name from employees e left outer join departments d on (e.department_id = d.department_id);


等价于

select e.last_name, e.department_id, d.department_name from employees e, departments d where e.department_id=d.department_id(+);


结果为:所有员工及对应部门的记录,包括没有对应部门编号department_id的员工记录。

2. right outer join:右外关联

select e.last_name, e.department_id, d.department_name from employees e right outer join departments d on (e.department_id = d.department_id);


等价于

select e.last_name, e.department_id, d.department_name from employees e, departments d where e.department_id(+)=d.department_id;


结果为:所有员工及对应部门的记录,包括没有任何员工的部门记录。

3. full outer join:全外关联

select e.last_name, e.department_id, d.department_name from employees e full outer join departments d on (e.department_id = d.department_id);


结果为:所有员工及对应部门的记录,包括没有对应部门编号department_id的员工记录和没有任何员工的部门记录。

 

其实啊 :外连接就是查两张表 左连接就是左边的表全有值,右边表的值可以为空(+)

                                                右连接是左边表值可以为空(+)    右边表的值全有

                                                全连接是左连接和右连接的并集 好像是这个符号(U)

                                                内连接是左连接和右连接的交集 。。。  

其余连接方式:

cross join: 交叉连接,查出的表的笛卡尔积 eg: select * from A cross join B    (A表有M行,B表有N行,结果是M*N行)。

左连接

             a.id=b.id(+) ===> a表内容全部显示,以左边的表为基准

              left join : left join 左边的表全部显示,以左边的表为基准;

              select * from emp e left join dept d on e.deptno=d.deptno;

右连接    a.id(+)=b.id ===> b表内容全部显示,以右表的表为基准。

              right join: right join 右边的表全部显示,以右边的表为基准

             select * from emp e right join dept d on e.deptno=d.deptno;

right join ,left join 没有 where from 语句等。

   注:+号在=号左边叫右连接,+号在=右边叫做左连接。  

 

 

 

 

做外连接的时候,where 条件中不可以加从表的条件,需将从表做个子查询,做成另外一个表。(切忌啊 我就这个方面跌了个跟头啊)

eg :select t.acctype, nvl(b.name,t.acctype) as name
      from biacciccardmaptb t, dictcodesettb b
      where b.category = '账户类型'
        and t.acctype=b.code(+)
        and t.iccardno = '1000751090001385'  

        (上述写法是错误的 应该按下面的写法)

 

select t.acctype, nvl(b.name,t.acctype) as name
from biacciccardmaptb t, (select * from dictcodesettb where category = '账户类型' )b
where
    t.acctype=b.code(+)
   and t.iccardno = '1000751090001385'

分享到:
评论

相关推荐

    易语言连接Oracle数据库

    在IT行业中,数据库管理系统(DBMS)是至关重要的组成部分,Oracle是其中的佼佼者,尤其在企业级...实践中,务必注意数据库安全,如使用预编译语句防止SQL注入,以及妥善处理连接关闭,以提高程序效率和资源利用率。

    远程导入备份orcal数据库命令

    本文将详细解析远程导入与备份Oracle数据库的操作流程,包括必要的环境配置、具体命令语法及注意事项,旨在帮助初学者快速上手。 ### 远程导入Oracle数据库 #### 概述 远程导入Oracle数据库是指在本地计算机上使用...

    配置orcal数据源

    通过遵循上述步骤和注意事项,可以有效避免常见错误,并确保数据源配置的顺利进行。对于初次接触Oracle ODBC配置的用户来说,耐心细致地按照指南进行操作是非常关键的。此外,遇到问题时不要气馁,通过查阅官方文档...

    oracle查询表的所有列并用逗号隔开

    #### 注意事项 - 使用`WM_CONCAT`函数时要注意性能问题。当表包含大量列时,此函数可能会变得非常慢。因此,在生产环境中使用时,建议先评估性能影响。 - 如果表中有超过1000列,则`WM_CONCAT`函数可能无法返回完整...

    MyEclipse-Orcal

    #### 三、其他注意事项 - **环境变量配置**:确保系统的环境变量中配置了正确的 Oracle Home 和 Path。 - **Java 版本兼容性**:使用 Oracle 自带的 Java 版本来避免兼容性问题。如果遇到兼容性错误,可以在`sql...

    orcal 安装步骤,实验一.docx

    ### Oracle 数据库安装步骤详解 ...通过以上详细的步骤和注意事项,相信读者已经能够顺利完成 Oracle 数据库的安装与初步配置。在后续的学习和工作中,可以进一步深入探索 Oracle 的更多功能和技术细节。

    Oracle修改字符集教程

    本文将详细介绍如何在Oracle数据库中更改字符集,包括必要的步骤和注意事项。 #### 二、准备工作 在进行字符集更改之前,请确保以下准备工作已经完成: 1. **备份数据库**:由于更改字符集可能会影响到现有数据的...

    clob增加、修改

    ### 三、注意事项 1. **事务管理**:在进行CLOB操作时,建议使用事务来确保数据的一致性。 2. **资源释放**:操作完成后记得关闭所有打开的资源,如`Reader`、`Writer`、`ResultSet`等。 3. **异常处理**:合理处理...

    ORACLE 客户端(安装版)

    6. **使用注意事项**: - 确保系统满足Oracle客户端的硬件和软件需求,例如操作系统版本、内存和磁盘空间。 - 在安装过程中,遵循最佳实践,避免将Oracle目录安装在系统盘。 - 安装完成后,根据需要创建数据库...

    oracle11g客户端

    6. **安全注意事项**:强调安全最佳实践,比如限制权限、更新补丁和加密敏感数据。 Oracle 11g客户端的使用涵盖了广泛的应用场景,包括: - **开发工具集成**:开发人员可以使用IDE,如Eclipse或Visual Studio,...

    java批量插入Oracle数据方法

    ### 三、注意事项 - **事务管理**:确保在执行批量插入前开启事务,在成功插入所有数据后提交事务,或者在发生错误时回滚事务,以保持数据的一致性。 - **异常处理**:在批量插入过程中,应妥善处理可能出现的任何...

    oracle数据库备份还原(本地及远程操作)

    #### 四、注意事项 - 在进行备份与恢复操作前,务必确保目标数据库的兼容性与可用性,防止因版本不匹配或权限问题导致的操作失败。 - 定期检查备份文件的完整性,以验证备份策略的有效性,并及时更新备份计划以适应...

    sqoop2 java API从oracle导数据到HDFS开发总结

    - **注意事项**:当在Windows环境下开发时,如果Windows用户名与启动sqoopserver的用户不同,则不能直接在Eclipse中运行程序。这是因为sqoopserver与客户端之间存在认证机制,需确保认证一致。 通过本文档的学习,...

    ORACLE性能优化工具整理

    在使用AWR等性能优化工具时,除了熟悉上述知识点外,还需要注意以下事项: - 确保AWR的定期执行与历史快照的有效管理,以便于历史数据分析。 - 在进行性能优化操作前,应仔细规划并备份重要数据。 - 性能优化是持续...

    金蝶oa7.1系统安装手册

    以上是金蝶协同办公软件V7.1的基本安装流程和注意事项,确保每个步骤都按照指南进行,可以有效避免安装过程中出现的问题,确保系统的稳定运行。在实际操作中,若遇到未涵盖的问题,建议查阅更详细的官方文档或寻求...

    oraca10.0gl he 11.g安装步骤

    **注意事项:** - 在安装过程中,确保遵循最佳实践,比如设置强密码,不使用默认的系统账号进行日常操作。 - 安装后,定期更新补丁以保持系统的安全性和稳定性。 - 记录安装过程中的所有配置信息,以便后续的维护和...

Global site tag (gtag.js) - Google Analytics