首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >优化查询(避免子查询)的更好方法

优化查询(避免子查询)的更好方法
EN

Stack Overflow用户
提问于 2017-03-27 13:09:53
回答 1查看 32关注 0票数 0

我有三张桌子

1)*

员工

Empname

代码语言:javascript
复制
    1              R
代码语言:javascript
复制
    2              S
代码语言:javascript
复制
    3     T

2)部门

Deptid empid deptdetlsid

1 1 1

1 2 1

2 1 2

3)详细资料

Dept磷化部门

1财务

2销售

员工可以属于多个departments.or,可能是一个尚未分配部门的新员工。我正在编写一个查询,以获取所有员工的列表,如果他们的部门是财务返回金融部门,否则将填充一个空值。

我所写的查询是

代码语言:javascript
复制
Select empid,empname,deptname from employee,department,
(select deptdetailsid from deptdetails where deptname ='Finance')deptdetails
where Employee.empid =Department.empid(+)
And department.deptdetailsid = deptdetails.deptdetailsid (+)

是否存在避免子查询并更有效地执行子查询的方法?

EN

回答 1

Stack Overflow用户

发布于 2017-03-28 18:42:24

我不知道为什么您需要避免子查询,但您可能正在寻找另一个左联接.

代码语言:javascript
复制
Select employee.empid, employee.empname, department.deptname  
from employee
   left outer join department on (employee.empid = department.empid)
   left outer join deptdetails on (deptdetails.deptdetailsid = departement.deptdetailsid and deptdetails.deptname = 'Finance');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43047391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档