【Oracle】第六单元 子查询

博客介绍了SQL中单行比较和多行比较的查询示例。单行比较需对应单行子查询,如判断谁的薪水比Abel高;多行比较对应多行子查询,如找出小于所有或任何一个IT部门人员薪水的人员,还说明了相关比较符号的含义。

单行比较示例
谁的薪水比Abel高
SELECT last_name
  FROM employees
 WHERE salary > (SELECT salary FROM employees WHERE last_name = 'Abel');

注:

单行比较必须对应单行子查询(返回单一结果值的查询);比如= , >

多行比较必须对应多行子查询(返回一个数据集合的查询);比如 IN , > ANY, > ALL 等

谁的薪水最低
select employee_id, last_name
  from employees
 where salary = (select min(salary) from employees)
多行比较

小于任何一个IT部门人员薪水的人员

SELECT employee_id
      ,last_name
      ,job_id
      ,salary
  FROM employees
 WHERE salary < ANY (SELECT salary FROM employees WHERE job_id = 'IT_PROG')
   AND job_id <> 'IT_PROG';

注:<ANY 小于集合里任何一个值

小于所有IT部门人员薪水的人员
SELECT employee_id
      ,last_name
      ,job_id
      ,salary
  FROM employees
 WHERE salary < ALL (SELECT salary FROM employees WHERE job_id = 'IT_PROG')
   AND job_id <> 'IT_PROG';

注:<ALL 小于集合里所有的值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值