请找到以下问题并进行确认。
Step-01:根据加入条件,从表中获取值并填充。由于表 B 中没有匹配值,所有列都填充了 NULL 值。
列:B.OP_TYPE,B.DEMO_ID
ksql> SELECT PLAN_ID,A_OP_TYPE,B.OP_TYPE,A.PRIMARY_DEMO_ID,B.DEMO_ID \
FROM TBL_PLN_PRO_DIV_SDIV A \
LEFT JOIN TBL_MS_TARGET_GROUP11 B \
ON (A.PRIMARY_DEMO_ID=B.DEMO_ID);
382591 | U | null | 3085 | null
与 where 条件相同的选择查询给出与预期相同的结果。
ksql> SELECT PLAN_ID,A_OP_TYPE,B.OP_TYPE,A.PRIMARY_DEMO_ID,B.DEMO_ID \
FROM TBL_PLN_PRO_DIV_SDIV A \
LEFT JOIN TBL_MS_TARGET_GROUP11 B \
ON (A.PRIMARY_DEMO_ID=B.DEMO_ID) WHERE B.OP_TYPE IS NULL;
382591 | U | null | 3085 | null
但是当我们尝试使用 Not Equal where condition 进行选择时,相应的查询没有给出正确的结果。B.OP_TYPE != 'D' - 这是包含 B.OP_TYPE 的条件为空的地方
ksql> SELECT PLAN_ID,A_OP_TYPE,B.OP_TYPE,A.PRIMARY_DEMO_ID,B.DEMO_ID \
FROM TBL_PLN_PRO_DIV_SDIV A \
LEFT JOIN TBL_MS_TARGET_GROUP11 B \
ON (A.PRIMARY_DEMO_ID=B.DEMO_ID) WHERE B.OP_TYPE != 'D';