在 cassandra 和 sql 中连接表

Joining tables in cassandra and sql

我有一个查询如下:

SELECT distinct(T1.USER_ID)
FROM   T1
LEFT OUTER JOIN T2
ON (T1.USER_ID = T2.USERID)
WHERE T2.USERID IS NULL
AND T1.enrolled_date < some_timestamp;

我需要了解这与 :

有何不同
SELECT distinct(T1.USER_ID)
FROM   T1
WHERE T1.USER_ID IS NULL
AND T1.enrolled_date < some_timestamp;

因为我们在两个用户 ID 相同的条件下对 T1 和 T2 进行左连接并检查 t2.user_id 是否为空,我们不能只检查 t1.user_id 是否为空还是不是?

我需要在 Cassandra 上实现它(使用 DataStax),因此我想知道是否可以避免连接。

此查询表示“从 t1 获取所有在 t2 中不存在的唯一 user_id(t2.userid 为空),其值为 enrolled_date小于 some_timestamp 值

SELECT distinct(T1.USER_ID)
  FROM   T1
LEFT OUTER JOIN T2
    ON (T1.USER_ID = T2.USERID)
 WHERE T2.USERID IS NULL
   AND T1.enrolled_date < some_timestamp;

重写的查询与上面的不等同。 它说,从 enrolled_date 小于 some_timestamp

的单个 table t1 中获取所有为空的唯一 user_id (NULL)
SELECT distinct(T1.USER_ID)
--I guess you missed the FROM T1 portion???
WHERE T1.USER_ID IS NULL
  AND T1.enrolled_date < some_timestamp;