您当前的位置: 首页 >  oracle

liaowenxiong

暂无认证

  • 2浏览

    0关注

    1171博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Oracle 数据库的子查询(关联子查询)

liaowenxiong 发布时间:2020-08-06 16:41:24 ,浏览量:2

文章目录
  • 一、子查询结果返回一个值(单列单行)
  • 二、子查询结果返回多行(单列多行)
  • 三、子查询结果返回多列多行
  • 四、关联子查询
    • (一)子查询执行顺序
    • (二)exists 关键字
  • 五、子查询总结
  • 六、关联子查询示例

一、子查询结果返回一个值(单列单行)

选择比较运算符:> < >= ( select salary from emp_xxx where ename = '张无忌' ) ; 二、子查询结果返回多行(单列多行)

选择比较运算符:>ALL >ANY ANY( select salary from emp_xxx where ename = '张无忌' ) ;

select ename,salary,job from emp_xxx
where deptno in(select deptno from emp_xxx
where ename = '刘苍松')
and ename  '刘苍松' ;
三、子查询结果返回多列多行

查询每个部门薪水最高的员工:

select ename, salary, job, deptno from emp_xxx
where (deptno, salary) in ( select deptno, max(salary)
from emp_xxx
where deptno is not null group by deptno ) ;

注意: 子查询的条件是单列还是多列没关系 , 关键是要分清返回的是单行还是多行。

  • 如果是单行 , 用单行比较运算符 ,=,>,< 这些
  • 如果是多行 , 用 in, >all, >any,
关注
打赏
1661566967
查看更多评论
立即登录/注册

微信扫码登录

0.0446s