Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
310 views
in Technique[技术] by (71.8m points)

oracle 子查询的一个疑惑

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

select employee_id, last_name,department_id
from employees
where department_id in (
      select department_id
      from employees
      where last_name like '%u%'
)

执行完后大概是这样的:
图片描述

为什么会自动的根据department_id进行分类了呢?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

这不是很正常的吗
先执行子查询 然后

select employee_id, last_name,department_id
from employees
where department_id in (60,....)

这样的结果啊
你可以 explain 一下 具体 SQL 看下执行计划

explain plan for 
select employee_id, last_name,department_id
from employees
where department_id in (
      select department_id
      from employees
      where last_name like '%u%'
)

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...