首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检索info sql查询

检索info sql查询
EN

Stack Overflow用户
提问于 2012-12-19 18:30:48
回答 3查看 62关注 0票数 2
代码语言:javascript
复制
SELECT  *
FROM    EMPLOYEE a
        LEFT JOIN EMPLOYEE b
            ON a.Employee_ID <> b.Employee_ID
WHERE   a.employee_salary < b.employee_salary and a.Department_ID='30'

您好,我想检索比30部门的员工挣更多钱的员工的所有信息

image of database

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-12-19 18:36:05

代码语言:javascript
复制
SELECT  * FROM    EMPLOYEE 
where (Department_ID<>'30')
and 
 (
 employee_salary > 
  (select max(employee_salary) from EMPLOYEE  where  Department_ID='30')
 )

或者,如果您需要的员工收入超过所有部门30,请使用SUM而不是MAX。

票数 2
EN

Stack Overflow用户

发布于 2012-12-19 18:34:25

拆分问题将对我们有所帮助:

employees.

  • Second:你需要知道离职金是多少钱,而不是这些钱能赚多少钱。

最简单的方法是使用子查询进行查询。主查询检索超过X的雇员,子查询返回X

子查询离任30名员工赚多少钱?

代码语言:javascript
复制
Select employee_salary from employee where Department_ID='30'

带有子查询的主查询:收入超过此金额的员工:

代码语言:javascript
复制
Select * from employee 
where employee_salary > ANY (
   Select employee_salary from employee where Department_ID='30'
)

请注意,您可以在子查询运算符中使用ANYALL

  • ALL表示您正在寻找的员工的收入超过dpt 30的ALL。employees.
  • ANY表示您正在寻找的员工的收入超过dpt 30 employees的ANY
票数 0
EN

Stack Overflow用户

发布于 2012-12-19 18:37:33

代码语言:javascript
复制
SELECT * fROM EMPLOYEE a where a.Department_ID!='30' 
and (a.employee_salary > (select max(b.employee_salary) 
from EMPLOYEE b where b.Department_ID='30'))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13950308

复制
相关文章

相似问题

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