-- sub query SELECTDISTINCT user_no FROM cos.op_h5_landing_page_request_record t1 WHERE date_updated >'2024-05-30' AND date_updated <'2024-05-31' AND user_no IN (SELECTcast(user_id ASVARCHAR) FROM users_u WHERE created >'2024-05-28'); -- left join SELECTDISTINCT t1.user_no, t2.id FROM cos.op_h5_landing_page_request_record t1 LEFTJOIN users_u t2 ON t2.created >'2024-05-28' AND t1.user_no=cast(t2.user_id ASVARCHAR) WHERE t1.date_updated >'2024-05-30' AND t1.date_updated <'2024-05-31' AND t2.id ISNOTNULL;
-- 相关子查询 SELECTDISTINCT t1.user_no FROM cos.op_h5_landing_page_request_record t1 WHEREexists (SELECTcast(user_id ASVARCHAR) FROM users_u t2 WHERE t2.created >'2024-05-28' AND t1.user_no=cast(t2.user_id ASVARCHAR)) AND t1.date_updated >'2024-05-30' AND t1.date_updated <'2024-05-31';
StarRocks 中子查询和相关子查询都被改写成 LEFT SEMI JOIN,而 LEFT JOIN 被改写成 INNER JOIN。