码农知识堂 - 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

  • 相关阅读:
    电脑屏幕模糊?这5个方法教你恢复清晰屏幕!
    [springmvc]乱码问题解决以及JSON和java对象转换的几种方法
    Nginx 面试 40 问与答
    【业务功能100】补充代码【业务功能88】微服务-springcloud-分布式锁-redis-redisson-springcache
    C#控制台贪吃蛇
    微弱电流检测放大器PCB布线布局设计
    Leecode刷题 383.赎金信——哈希表
    Spring笔记二:IOC简介及入门案例
    【物流中心选址】智能优化算法在物流中心选址的应用(Matlab代码实现)
    机器人控制算法——移动机器人横向控制最优控制LQR算法
  • 原文地址:https://blog.csdn.net/m0_69157845/article/details/125599184
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号