【问题标题】:Leetcode 1965 finding missing informationLeetcode 1965 查找缺失信息
【发布时间】:2022-06-28 00:54:05
【问题描述】:

任何人都可以帮助我查找 leetcode 1965 丢失的信息。问题如下:

输入: 员工表: +-------------+----------+ |员工编号 |姓名 | +-------------+----------+ | 2 |船员 | | 4 |避风港 | | 5 |克里斯蒂安 | +-------------+----------+ 工资表: +-------------+--------+ |员工编号 |工资 | +-------------+--------+ | 5 | 76071 | | 1 | 22517 | | 4 | 63539 | +-------------+--------+ 输出: +--------------+ |员工编号 | +--------------+ | 1 | | 2 | +--------------+ 解释: 员工 1、2、4 和 5 在这家公司工作。 缺少员工 1 的姓名。 员工 2 的工资不见了。

我的解决方法如下:我不知道是什么错误。

select employee_id
from Employees
outer join salaries on Employees.Employee_id=salaries.Employee_id
where name is null or salary is null;

它提到我有语法错误。

【问题讨论】:

    标签: syntax syntax-error


    【解决方案1】:

    你可以试试这个:

    select 
      employee_id
    from
      Employees
    where
      employee_id not in (select employee_id from Salaries)
    union
    
    select
      employee_id
    from
      Salaries
    where
      employee_id not in (select employee_id from Employees)
    order by employee_id;
    

    (SELECT 
        Employees.employee_id 
    FROM 
        Employees LEFT JOIN Salaries 
    ON 
        Employees.employee_id = Salaries.employee_id 
    WHERE 
        Salaries.employee_id IS NULL 
    UNION 
    SELECT 
        Salaries.employee_id 
    FROM 
        Salaries LEFT JOIN Employees 
    ON 
        Employees.employee_id = Salaries.employee_id 
    WHERE 
        Employees.employee_id IS NULL) 
    ORDER BY 
        employee_id;
    

    【讨论】:

    • 您的答案可以通过添加有关代码的作用以及它如何帮助 OP 的更多信息来改进。
    【解决方案2】:

    你可以试试这个:

    SELECT employee_id
    FROM
    ( SELECT employee_id FROM employee
    UNION ALL 
    SELECT employee_id FROM salaries
    )emp
    GROUP BY employee_id
    HAVING COUNT(employee_id)=1
    ORDER BY 1;
    

    【讨论】:

      【解决方案3】:

      选择 案子 当 t1.employee_id 不为空时,则 t1.employee_id else t2.employee_id 以employee_id 结尾 来自员工 t1
      t1.employee_id = t2.employee_id 上的完整外部联接工资 t2 其中名称为空或薪水为空 按employee_id asc排序

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-01-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多