~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
开发工具与关键技术:Oracle sql*plus PLSQL Developer
作者: ZCR
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
子查询 (内查询) 在主查询之前一次执行完成。
子查询的结果被主查询(外查询)使用 。
注意事项:
子查询要包含在括号内。
将子查询放在比较条件的右侧。
单行操作符对应单行子查询,多行操作符对应多行子查询
子查询有两种类型:单行子查询,多行子查询
单行子查询自返回一行操作符有:= , > , >= , < , <= , <>... ,
多行子查询不可以值用单行的操作符,因为多行返回的数据个数不只一个,所以多行的子查询用:in,any,all...
下面我举两个例子
单行子查询
1.列出'King Steven'所在部门中每个员工的姓名与部门号
select last_name||first_name,department_id from employees
where department_id = (select department_id from employees where last_name||first_name = 'KingSteven')
查询的结果如下
子查询的结果
多行子查询
2.在员工表列出比(部门id为的部门所有个人的工资)低的员工信息
select * from employees
where salary < all(select salary from employees where department_id = 100)
子查询的结果