oracle之子查询_,Oracle子查询

子查询

单行子查询(single-row subqueries)

使用的运算符号(=,>,=,<=,<>)

多行子查询(multiple-row subqueries)

使用的运算符号(in,not in,exists,not exits,all,any)

相关子查询(correlated subqueries)

格式 select 列名,(select 语句) from 表名

标量子查询(scalar subqueries)

子查询是返回单行单列,格式同上

多列子查询(multiple-column subqueries)

在DDL语句中使用子查询

在DML语句中使用子查询

--------

单行子查询

--显示工资最高的雇员信息

Select ename,deptno,sal from emp

Where sal=(select max(sal) from emp);

--------

多行子查询

--显示与部门编号为20的岗位相同的雇员信息

Select ename,deptno,sal,job from emp

Where job in (select distinct job from emp where deptno=20);

--显示不与部门编号为20的岗位相同的雇员信息

Select ename,deptno,sal,job from emp where job not in (select distinct job from emp where deptno=20);

--显示高于部门编号为20的所有雇员的工资的雇员信息

select ename,deptno,sal ,job from emp

where sal>all(select sal from emp where deptno=20);

--显示高于部门编号为20的任何雇员的工资的雇员信息

select ename,deptno,sal ,job from emp

where sal>any(select sal from emp where deptno=20);

---------

相关子查询

--显示每个部门的最高工资的雇员信息

select deptno,(select max(sal) from emp b where b.deptno=a.deptno) maxsal

from emp a order by deptno;

--增加distinct

select distinct deptno,(select max(sal) from emp b where b.deptno=a.deptno) maxsal

from emp a order by deptno;

--显示工作在NEW YORK的雇员信息

select ename,deptno,sal,job from emp

where exists (select 'x' from dept where dept.deptno=emp.deptno and dept.loc='NEW YORK');

---------

标量子查询

--返回单行单列

Select count(*) from emp;

Select sum(sal)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值