• 2041. 面试中被录取的候选人


    SQL架构

    表:Candidates

    +--------------+----------+
    | Column Name  | Type     |
    +--------------+----------+
    | candidate_id | int      |
    | name         | varchar  |
    | years_of_exp | int      |
    | interview_id | int      |
    +--------------+----------+
    candidate_id 是这个表的主键。
    该表的每一行都表示候选人的姓名、工作年限以及面试 ID 。
    

    表:Rounds

    +--------------+------+
    | Column Name  | Type |
    +--------------+------+
    | interview_id | int  |
    | round_id     | int  |
    | score        | int  |
    +--------------+------+
    (interview_id, round_id)是本表的主键。
    本表的每一行都表示一轮面试的分数
    

    编写一个 SQL 查询,查询出至少有两年工作经验、且面试分数之和 严格大于 15 的候选人的 ID 。

    可以以 任何顺序 返回结果表。

    查询结果的格式如下例所示。

    示例:

    输入:
    Candidates table:
    +--------------+---------+--------------+--------------+
    | candidate_id | name    | years_of_exp | interview_id |
    +--------------+---------+--------------+--------------+
    | 11           | Atticus | 1            | 101          |
    | 9            | Ruben   | 6            | 104          |
    | 6            | Aliza   | 10           | 109          |
    | 8            | Alfredo | 0            | 107          |
    +--------------+---------+--------------+--------------+
    Rounds table:
    +--------------+----------+-------+
    | interview_id | round_id | score |
    +--------------+----------+-------+
    | 109          | 3        | 4     |
    | 101          | 2        | 8     |
    | 109          | 4        | 1     |
    | 107          | 1        | 3     |
    | 104          | 3        | 6     |
    | 109          | 1        | 4     |
    | 104          | 4        | 7     |
    | 104          | 1        | 2     |
    | 109          | 2        | 1     |
    | 104          | 2        | 7     |
    | 107          | 2        | 3     |
    | 101          | 1        | 8     |
    +--------------+----------+-------+
    输出:
    +--------------+
    | candidate_id |
    +--------------+
    | 9            |
    +--------------+
    解释:
    - 候选人 11 :总分是 16 ,1 年工作经验。由于工作年限,不列入结果表。
    - 候选人 9 :总分是 22 ,6 年工作经验。列入结果表。
    - 候选人 6 :总分是 10 ,10 年工作经验。由于分数不足,不列入结果表。
    - 候选人 8 :总分是 6 ,0 年工作经验。由于工作年限和分数,不列入结果表。
    1. with t1 as (select
    2. candidate_id,interview_id
    3. from
    4. Candidates
    5. where years_of_exp >=2 # 至少有两年工作经验 的候选人的 ID
    6. ) ,t2 as(
    7. select
    8. interview_id
    9. from
    10. Rounds
    11. group by
    12. interview_id
    13. having sum(score) > 15 #面试分数之和 严格大于 15 的候选人的 ID
    14. )
    15. select
    16. t1.candidate_id
    17. from
    18. t1 join t2 #取交集
    19. using(interview_id)

  • 相关阅读:
    Linux 环境删除Conda
    笔记(二)图的基本表示【斯坦福CS224W图机器学习】
    Vue mixin混入
    【面试题】事件绑定和冒泡
    使用HTML+CSS+JS模拟比赛晋级的动画功能
    Nvidia Jetson/Orin +FPGA+AI大算力边缘计算盒子:无人机自主飞行软件平台
    c++运算符重载的几个例子记录
    自建es数据迁移阿里云方案
    LangChain转换链:让数据处理更精准
    C++标准模板(STL)- 输入/输出操纵符-(std::get_time,std::put_time)
  • 原文地址:https://blog.csdn.net/m0_69157845/article/details/125612585