oracle 子查询介绍

原创 2012年03月21日 20:34:09
 

子查询

       1、子查询概念:当一个查询的结果是另一个查询的条件时,称之为子查询。

       2、使用子查询的注意事项:子查询可以嵌套多层,子查询需要圆括号()括起来。

       3、单行子查询操作符有:=、>、>=、<、<=、<>

       案例:

//查询编号7876相同职位的员工信息 并且薪资大于编号为7521的薪资的员工信息

SQL> select * from emp where job=( select job from emp where empno=7876) and sal>( select sal from emp where empno=7521);

//子查询含有组函数

SQL> select * from emp where sal>(select avg(nvl(sal,0)) from emp);

//子查询含有having子句 查询部门的最小工资大于20号部门最小工资的部门号及最小工资数

SQL> select deptno,min(sal) from emp group by deptno having min(sal)>( select min(sal) from emp where deptno=20);

 

备注:子查询可以返回空行 没要查询到结果是可以的。

       4、子查询(内查询)在主查询之前一次执行完成。

              子查询的结果被主查询使用(外查询)。

       案例:

              查询员工的工资大于JONES的员工信息

分析过程如下:

首先:查询JONES的员工工资是多少 :结果2975

SQL> select sal from emp where ename='JONES';

实际上我们要查询的是:薪资大于2975的员工的信息写法如下:

SQL> select * from emp where sal>2975;

//综合以上写出子查询的结果如下:

SQL> select * from emp where sal>(select sal from emp where ename='JONES');

注意:

子查询要包含在括号内。

将子查询放在比较条件的右侧。

              5、多行子查询

              案例:

//查询薪水小于工作岗位CLERK的任何一个薪资的员工信息 并且不包含工作岗位为CLERK的员工信息

SQL> select * from emp where sal < any (select sal from emp where job='CLERK') and job<>'CLERK';

//all与所有值比较 >all 代表的是大于查询结果的最大值

SQL> select * from emp where sal > all (select sal from emp where job='CLERK') and job<>'CLERK';

//查询岗位与部门编号为10相同的员工信息 不包含自己。

SQL> select * from emp where job in(select job from emp where deptno=10) and deptno<>10;

原创:oracle 子查询介绍&lt;七&gt;

前几节课中我们渐渐的对oracle的知识,有了进一步的了解与掌握,随着时间的推移,在这节课程中我们来讲解SQL子查询的知识,希望通过授课中的内容对你有所帮助!  Java代码   子查询概念 :...

原创:oracle 子查询介绍 (七)

 前几节课中我们渐渐的对oracle的知识,有了进一步的了解与掌握,随着时间的推移,在这节课程中我们来讲解SQL子查询的知识,希望通过授课中的内容对你有所帮助! 子查询概念 :当一个查询的结果是另一个...

Oracle初级(子查询).doc

  • 2013年09月05日 21:00
  • 106KB
  • 下载

Oracle子查询

  • 2012年12月12日 22:23
  • 5KB
  • 下载

Oracle(存储过程,触发器等中) if语句中不能有子查询的原因和解决方案

如果我们输入并运行以下代码:   begin if 'U001' in (select userId from userInfo) then dbms_output.put_lin...

Oracle数据库-- 高级子查询chinese

  • 2012年02月01日 22:27
  • 329KB
  • 下载

Oracle数据库之子查询

Oracle数据库总结:Oracle数据库之基本查询 Oracle数据库之过滤和排序 Oracle数据库之单行函数 Oracle数据库之多行函数 Oracle数据库之多表查询SQL> 注意的问...

ORACLE子查询

  • 2013年05月24日 12:53
  • 1.29MB
  • 下载

oracle子查询相关帮助

  • 2010年05月11日 20:54
  • 26KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:oracle 子查询介绍
举报原因:
原因补充:

(最多只允许输入30个字)