cassandra和sql中的数据库连接表

bpzcxfmw  于 2021-06-10  发布在  Cassandra
关注(0)|答案(1)|浏览(358)

我的问题如下:

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;

既然我们在t1和t2上做一个左连接,条件是两个用户id相同,并且检查t2.user\u id是否为null,那么我们不能只检查t1.user\u id是否为null吗?
我需要在cassandra上实现这个(使用datastax),因此我想知道是否可以避免join。

lf5gs5x2

lf5gs5x21#

这个查询的意思是“从t1中获取所有唯一的用户id,这些用户id在t2中不存在(t2.userid为null),其注册日期的值小于某个时间戳的值

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;

重新编写的查询与上面的查询不同。它表示,从注册日期小于某个时间戳的单个表t1中获取所有唯一的用户标识(null),该标识为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;

相关问题