当前位置: 首页 > 面试题库 >

检查另一个表中是否不存在某项

马淳
2023-03-14
问题内容

我的表设置如下:

table name: process
fields: name, id_string

table name: value_seach
fields: id_string, value

我想构造一个select语句,该语句将显示在value_search中没有条目的所有进程名称(带有其各自的id_string)。

进程表中的id_string可以为 null
,并且仍然具有名称,但是如果可能的话,必须将其排除。value_search中的id_string永远不能为 null

我该怎么做呢?


问题答案:

通常,如果您想要其他表中不存在的行,则将LEFT JOIN另一个表,并将WHERE … IS
NULL插入第二个表的列。您还提到过,您不希望process.id_string为NULL的行。

SELECT p.name, p.id_string
FROM
    process p
    LEFT JOIN value_search v
        ON v.id_string = p.id_string
WHERE
    v.id_string IS NULL
    AND p.id_string IS NOT NULL

这称为反联接。



 类似资料:
  • 问题内容: 在我的PostgreSQL 9.4 数据库中,我有一个表,该表的列具有唯一值。 我正在创建具有相似结构(此处不重要)和一列的新表。我需要一种方法来限制要插入的值,使其不存在于中。 例如,如果包含值 ‘color’ 和 ‘length’ ,则需要防止包含 ‘color’ 或 ‘length’ 值。因此,换句话说,我需要提供两个表中的列之间没有任何重复的值。约束应该是双向的。 问题答案:

  • 目前,我在postgres中有一些重复的表A和表B,我只想选择表A中存在但表B中不存在的行,这是左连接的一种形式吗? 实现这一目标的最佳方式是什么?

  • 问题内容: 我有两个arraylist 我想检查a2中是否存在a1的所有元素。这是我正在尝试的问题 这没有给出一致的结果…还有其他方法可以做到吗? 问题答案: 不知道我是否正确理解了您的问题,为什么使用? 试过这个: 它输出 添加一个额外的元素将使它失败(如预期): 它输出

  • 我需要检查一个arraylist中的任何值是否存在于另一个arraylist中: 它打印“它不包含”。我需要知道是否有方法比较这两个arraylist,如果其他arraylist中存在任何值,它应该返回。我知道迭代可以有所帮助。有什么简单的方法可以做到这一点吗?

  • 问题内容: 我有两个列表,一个包含 相册,文件对的 列表,另一个仅包含有关一张照片的信息- 相册 (位置0)和 文件 (位置1) 如何查看 照片 列表是否在 照片 列表中?就像字符串一样。 相册 , 文件的 位置无关紧要,因为不会有任何 文件 等于 相册 。 问题答案: 同样喜欢字符串。不仅如此,也是 如此 。也适用于列表中的列表: 对列表的成员资格测试仅迭代列表,并对每个元素使用相等性测试以查看

  • 问题内容: 假设我有一个列表, 并且我想知道其中的至少一个数字是否存在于另一个列表中,例如这个列表: 换句话说,我想知道list中是否存在1,2或3 。我现在可以做类似的事情 但是,是否可能有一种方法可以使事情整齐? 问题答案: 有很多方法可以做到这一点。最直接的翻译是: 您还可以使用各种涉及集合的东西,例如: (这取决于元素是可哈希的,但如果这是真的,这很可能会更快地制定一套较大的出来的,并为任