【问题标题】:How do I use SQL to check whether a record exists?如何使用 SQL 检查记录是否存在?
【发布时间】:2013-10-09 01:54:16
【问题描述】:

我有一个名为 HRRM 的员工记录 SQL 表。此表具有employeeID、FirstName、LastName 等字段。

SQL 中有另一个表称为 HREC。此表已加入 HRRM 并包含紧急联系人详细信息。

基本上,HRRM 中的每个员工都可以在 HREC 中拥有多个紧急联系人。

如何从 HRRM 中选择在 HREC 中没有任何记录的所有员工?

【问题讨论】:

    标签: sql select join null exists


    【解决方案1】:

    如何从HRRM 中选择在HREC 中没有任何记录的所有员工?

    这个英文语句几乎逐字翻译成 SQL:

    SELECT *
    FROM HRRM e
    WHERE NOT EXISTS (SELECT * FROM HREC r WHERE r.emp_id=e.emp_id)
    

    一种不那么简单的方法是使用外部JOIN

    SELECT e.*
    FROM HRRM e
    LEFT OUTER JOIN HREC r ON r.emp_id=e.emp_id
    WHERE r.emp_id IS NULL
    

    【讨论】:

      【解决方案2】:

      使用不存在:

      SELECT * FROM HRRM R 
      WHERE NOT EXISTS (SELECT * FROM HREC E WHERE R.EMP_ID=E.EMP_ID)
      

      不应该使用join,除非你同时使用DISTINCT

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-02
        相关资源
        最近更新 更多