当前位置:  数据库>oracle

Oracle 常用连接查询方法和函数

    来源: 互联网  发布时间:2017-05-10

    本文导语: 一:Oracle常用的连接查询方法(以oracle自带的表做的练习) 1、左外连接(left outer join/left join) left  join是以左表的记录为基础的,左表中的记录会全部显示,右表只显示符合查询条件的记录。右表不足的地方用null填充。 例如...

一:Oracle常用的连接查询方法(以oracle自带的表做的练习)

1、左外连接(left outer join/left join)

left  join是以左表的记录为基础的,左表中的记录会全部显示,右表只显示符合查询条件的记录。右表不足的地方用null填充。

例如:select * from emp t1 left join dept t2 on t1.deptno=t2.deptno;

左外连接可以用(+)来实现,哪一个表后面有‘(+)’表示这张表是匹配表,用‘(+)’就用关键字where

例如:select * from emp t1 left join dept t2 on t1.deptno=t2.deptno;

2、右外连接(right outer join/right join)

right join 是以右表的记录为基础的,右表的记录会全部显示,左表只显示符合查询条件的记录,左表不足的地方用null填充。

例如:select * from emp t1 left join dept t2 on t1.deptno=t2.deptno;

右外连接可以用‘(+)’实现,用‘(+)’要用where关键字。

左/右外连接的两种方式的区别:用‘(+)’实现,左/右表为全表扫描,右/左表为索引扫描。用另外一种方式为两个表都是全表扫描。

3、全外连接(full outer join/full join)

左表和右表都不做限制,所有记录都显示,两表不足的地方用null填充。全外连接不支持(+)这种写法。

例如:select * from dave a full join bl b on a.id = b.id;

4、自连接

自连接是sql语句中经常用到的连接方式,使用自连接可以将自身表的一个镜像当作另外一个表来对待,从而能够得到一些特殊的数据。

例如:查询emp表的员工的姓名和员工的经理的姓名

select t1.ename "员工",'的',t2.ename "经理" from emp t1,emp t2 where t1.mgr=t2.empno;

5、自然连接

自然连接是在两张表中寻找那些类名和列名都相同的字段,然后自动地将他们连接起来,并返回所有符合条件的结果。

例如:select deptno from emp  natural join dept  ;

这里并没有指定连接的条件,实际上 oracle 为我们只做主张的将 emp表中的deptno字段与dept表中的deptno字段进行了连接。也就是相当于:

select deptno from emp t1 natural join dept t2 ;

6、内连接 (inner join/join)

inner join返回满足第一个(顶端)输入与第二个(底端)输入联接的每一行。这个和select查询多表的效果一样,所以内链接用的很少。

select t1.ename from emp t1 inner join dept t2 on t1.deptno=t2.deptno;


    
 
 

您可能感兴趣的文章:

  • Oracle 系统变量函数介绍
  • Oracle 系统变量函数用法指南
  • Oracle中decode函数的用法
  • Oracle round()函数与trunc()函数区别介绍
  • oracle中lpad函数的用法详解
  • MySQL实现类似Oracle中的decode()函数的功能
  • Oracle函数substr(str1, pos, [len])
  • Oracle 函数大全[字符串函数,数学函数,日期函数]第1/4页
  • SQL中Charindex和Oracle中对应的函数Instr对比
  • apache通过php的oci函数读取Oracle(字符集ZHS16GBK)时,显示乱码,如何解决?
  • Oracle Max函数使用中出现的问题
  • oracle合并列的函数wm_concat的使用详解
  • 请问:在使用oracle数据库作开发时,是使用pro*c作开发好些,还是使用库函数如oci等好一些啊?或者它们有什么区别或者优缺点啊?
  • c#中oracle to_date函数用法举例
  • Oracle 函数用法之decode
  • Oracle过程与函数的区别分析
  • Oracle层次查询和with函数的使用示例
  • oracle的nvl函数的使用介绍
  • c#中oracle的to_date函数使用方法
  • Oracle中nul()函数
  • ORACLE数据库常用字段数据类型介绍
  • Oracle 10G for Linux常用命令
  • oracle 常用的几个SQL
  • Oracle 常用的SQL语句
  • Oracle 分页和排序常用的4条查询语句
  • Oracle的几个常用命令
  • [Oracle] 常用工具集之SQL*Loader的用法
  • oracle的归档模式 ORACLE数据库归档日志常用命令
  • Oracle入侵常用操作命令整理
  • Oracle的SQLPLUS常用命令
  • 整理汇总Oracle常用命令 方便你我他
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 网间Oracle的连接,远程连接Oracle服务器??
  • oracle远程连接服务器出现 ORA-12170 TNS:连接超时 解决办法
  • 不想装oracle却还要在redhat8.0下用jdbc连接oracle如何实现?
  • 我用JBuilder 7连接局域网内一ORACLE 9( 在本机可以连接)的问题?
  • 关于JDBC连接Oracle数据库,是否必须有Oracle客户端
  • oracle 数据库连接分析
  • Linux系统下利用java连接Oracle 10G
  • Jbuilder 7.0 连接 Oracle 数据库
  • 怎么直接通过JDBC连接oracle?
  • 请教: Javaswing 和 Oracle JDBC thin 连接的问题
  • opendbx 为什么连接不上oracle?
  • 100分寻求最优化的连接oracle的java程序,请给我讲出理由,我是初学者,在做项目时不想让连接oracle影响我的程序性能
  • 如何在JBuilder中连接Oracle数据库?
  • 怎样调出ORACLE数据库中的数据,该如何连接?
  • 请教JSP与ORACLE连接问题。
  • jdbc连接oracle
  • 关于Jbuilder7连接oracle9??
  • 再问java 连接oracle 问题,急!
  • jsp文件连接oracle失败
  • 讨论:jdbc连接oracle数据库
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,