码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 1965. 丢失信息的雇员


    SQL架构

    表: Employees

    +-------------+---------+
    | Column Name | Type    |
    +-------------+---------+
    | employee_id | int     |
    | name        | varchar |
    +-------------+---------+
    employee_id 是这个表的主键。
    每一行表示雇员的id 和他的姓名。
    

    表: Salaries

    +-------------+---------+
    | Column Name | Type    |
    +-------------+---------+
    | employee_id | int     |
    | salary      | int     |
    +-------------+---------+
    employee_id is 这个表的主键。
    每一行表示雇员的id 和他的薪水。
    

    写出一个查询语句,找到所有 丢失信息 的雇员id。当满足下面一个条件时,就被认为是雇员的信息丢失:

    • 雇员的 姓名 丢失了,或者
    • 雇员的 薪水信息 丢失了,或者

    返回这些雇员的id  employee_id , 从小到大排序 。

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

    示例 1:

    输入:
    Employees table:
    +-------------+----------+
    | employee_id | name     |
    +-------------+----------+
    | 2           | Crew     |
    | 4           | Haven    |
    | 5           | Kristian |
    +-------------+----------+
    Salaries table:
    +-------------+--------+
    | employee_id | salary |
    +-------------+--------+
    | 5           | 76071  |
    | 1           | 22517  |
    | 4           | 63539  |
    +-------------+--------+
    输出:
    +-------------+
    | employee_id |
    +-------------+
    | 1           |
    | 2           |
    +-------------+
    解释:
    雇员1,2,4,5 都工作在这个公司。
    1号雇员的姓名丢失了。
    2号雇员的薪水信息丢失了。
    1. with t1 as (
    2. select
    3. employee_id
    4. from
    5. (
    6. select
    7. employee_id
    8. from
    9. Employees
    10. union all
    11. select
    12. employee_id
    13. from
    14. Salaries
    15. ) s1
    16. )
    17. (
    18. select
    19. t1.employee_id
    20. from
    21. t1 left join Employees e
    22. using(employee_id)
    23. where e.employee_id is null
    24. union all
    25. select
    26. t1.employee_id
    27. from
    28. t1 left join Salaries e
    29. using(employee_id)
    30. where e.employee_id is null
    31. )
    32. order by employee_id

    分组 用 count=1:

    1. select employee_id from (
    2. select employee_id
    3. from employees
    4. union all
    5. select employee_id
    6. from salaries
    7. ) as ans
    8. group by employee_id
    9. having count(employee_id) = 1
    10. order by employee_id

  • 相关阅读:
    【数据库】数据库系统概论(一)— 概念
    攻防演练前 临战阶段:战前动员,鼓舞士气
    大模型训练之加速篇 -> peft(Lora) -> accelerator -> deepspeed (Zero)
    11.30排序
    ES复杂操作搜索
    Lambda表达式的性能分析与使用限制
    数字机器人如何更好的助力智慧政务?这里或许有你想要的答案
    猿辅导发布博物馆新知计划,上线文物科普记录片《文物也有AB面》
    module ‘numpy‘ has no attribute ‘object‘
    Python 面试:单元测试unit testing & 使用pytest
  • 原文地址:https://blog.csdn.net/m0_69157845/article/details/125599184
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号