如何使用SQL根据其他两个表的信息查找不在表中的记录?

大卫·纽金特

我几乎没有SQL经验,所以在尝试解释我的问题时,请多多包涵。

我有三个表:

  1. 网络表格
  2. 使用者
  3. signing_rules

这些表中的记录都通过它们共享的字段(GENID)连接在一起。

我想检查实例中应该存在的第三张表中没有的记录。只有在Web表单和用户两者中都有非常特定的值的记录才是这种情况。

因此,我想从前两个表中搜索符合特定条件的所有记录,而仅返回其GENID没有出现在第三个表中的记录。

我该如何实现?

Damien_The_Unbeliever

通常可以使用反联接EXISTS来完成EXCEPT今天我们将使用反联接

SELECT
    *
FROM
    webforms w
        inner join
    Users u
        on
           w.GENID = u.GENID
        left join
    signing_rules sr
        on
           w.GENID = sr.GENID
where
  sr.GENID is null and
  /* Other conditions on webforms and users */

aleft join和where子句的组合检查该表中不应该为null的列,这意味着最终出现在结果集中的唯一结果是left join失败的(因此是反联接的)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从其他两个表中不存在的表中获取*记录

查找其他两个表中不存在的表记录

MYSQL:如何根据其他两个表的条件在表中插入行

如何使用 DB2 sql 在另一个第三个表中检查不在两个表中的记录?

从表A中删除(不在其他两个表中)

从两个表中选择值不在MySQL的其他表中

根据其他两个表更新表

如何使用 MySQL 中其他两个表的值总和更新表

如何使用R中的其他两个表创建表?

如何在SQL中使用两个信息表

如何根据其他两个表的左连接获取表的内容

如何查找两个表中都存在的记录以及左表中的所有记录?

ORACLE SQL根据其他表中的值从1个表中检索记录

如何从SQL中的两个表获取记录

名称的唯一列表,不在其他两个列表中

如何根据sql中的条件连接两个表?

如何根据SQL中的ID合并两个表

如果其他任何列字段发生更改,如何从具有相同主键的两个表中取回记录

如何联接表并根据其他两个列中的最新日期和条件显示列?

在给定SQL中其他两个表的键的情况下填充表

如何查询记录出现在一个表中,而不出现在其他两个表中

SQL,根据其他表中的相关字段删除记录

如何比较两个表并用其他表中的值替换空值

如何将其他两个构成每种组合的表的主键插入表中?

SQL Server 2012-通过与其他两个表进行交叉检查从表中检索匹配记录的查询

如何使用3个表执行MySQL查询?其中一个表在其他两个表中具有外键

Java根据其他表中的记录显示一个表中的记录

根据来自其他两个表的数据更新一个表

从表中选择记录,不在其他表中