【问题标题】:Adding WHERE clause gives not good result添加 WHERE 子句效果不佳
【发布时间】:2022-08-05 19:58:01
【问题描述】:

我的公式看起来像这样

SELECT EMP.*, DIM.GENDER
FROM Table1 as EMP
    JOIN Table2 as DIM 
        ON EMP.M_COD=DIM.M_COD
        AND EMP.ID=DIM.ID

它给了我 5,597,154 的结果。我知道我有 17 个特定类别 = 10 的条目(添加 WHERE EMP.CAT_COD = 10)到查询中,但是当我尝试删除类别 10 的 ID(这是我的标准)时,我添加例如 WHERE EMP.CAT_COD <> 16我得到 4,479,430 行

为什么它不只是删除这 17 行以及如何正确地将它们从结果中排除?

    标签: sql snowflake-cloud-data-platform


    【解决方案1】:

    <> 不是 NULL 安全的:

    SELECT EMP.*, DIM.GENDER
    FROM Table1 as EMP
        JOIN Table2 as DIM 
            ON EMP.M_COD=DIM.M_COD
            AND EMP.ID=DIM.ID
    WHERE EMP.CAT_COD IS DISTINCT FROM 16
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-25
      相关资源
      最近更新 更多