Oracle 子查询

Oracle 子查询

一.子查询的语法

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

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

二.注意事项

a)         子查询要包含在括号内。

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

c)         单行操作符对应单行子查询,多行操作符对用多行子查询。

三.单行子查询

a)         只返回一行。

b)         使用单行比较操作符。

操作符

含义

=

Equal to

Greather than

>=

Greather than or equal to

Less than

<=

Less than or equal to

<> 

Not equal to

c)         子查询中的having子句

                         i.              首先执行查询。

                       ii.              向主查询中的having子句返回结果。

四.多行子查询

a)         返回多行。

b)         使用多行比较操作符。

操作符

含义

In

等于列表中的任何一个

Any

和子查询返回的任意一个值比较

All

和子查询返回的所有值比较

五.测试

a)         查询和Zlotkey相同部门的员工姓名和雇用日期

select last_name,hire_date

from employees

where department_id = (

      select department_id

      from employees

      where last_name = 'Zlotkey'

b)         查询工资比公司平均工资高的员工的员工号,姓名和工资。

select employee_id,last_name,salary

from employees

where salary >(

      select avg(salary)

      from employees

)

c)         查询各部门中工资比本部门平均工资高的员工的员工号, 姓名和工资

select employee_id,last_name,salary

from employees e

where salary >(

      select avg(salary)

      from employees

      where department_id = e.department_id

d)         查询和姓名中包含字母u的员工在相同部门的员工的员工号和姓名

select employee_id,last_name

from employees

where department_id in (

      select department_id

      from employees

      where last_name like '%u%'

)

e)         查询在部门的location_id1700的部门工作的员工的员工号

select employee_id

from employees

where department_id in (

      select department_id

      from departments

      where location_id = 1700

)

f)          查询管理者是king的员工姓名和工资

select last_name,salary

from employees

where manager_id in (

      select employee_id

      from employees

      where last_name = 'King'

)

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值