zoukankan      html  css  js  c++  java
  • 【lc-database】181. 超过经理收入的员工

    Employee 表包含所有员工,他们的经理也属于员工。每个员工都有一个 Id,此外还有一列对应员工的经理的 Id。

    ±—±------±-------±----------+

    | Id | Name | Salary | ManagerId |

    ±—±------±-------±----------+

    | 1 | Joe | 70000 | 3 |

    | 2 | Henry | 80000 | 4 |

    | 3 | Sam | 60000 | NULL |

    | 4 | Max | 90000 | NULL |

    ±—±------±-------±----------+

    给定 Employee 表,编写一个 SQL 查询,该查询可以获取收入超过他们经理的员工的姓名。在上面的表格中,Joe 是唯一一个收入超过他的经理的员工。

    ±---------+

    | Employee |

    ±---------+

    | Joe |

    ±---------+

    1.使用where + 内连接

    select * from employee as a,employee b;//笛卡尔积
    
    select * from employee as a,employee b where a.managerId =  b.id and a.salary > b.salary;//筛选条件
    
    select a.name as Employee from employee as a,employee b where a.managerId =  b.id and a.salary > b.salary;
    

    2.join on + 内连接

    select  a.name as Employee from employee as a join employee b on a.managerId = b.id  and a.salary > b.salary;
    
  • 相关阅读:
    JS
    JS
    JS
    VUE
    element-ui 进入页面 message 自动触发的问题
    JS-数组中常用的方法
    CSS-transition简单过渡动画
    vue
    JS
    2021要买的书籍
  • 原文地址:https://www.cnblogs.com/qxlxi/p/12860758.html
Copyright © 2011-2022 走看看