sql 用于获取拼车数据库架构中未提供任何乘车服务的用户的命令

sql commands to fetch the users who didn't offerd any rides in carpooling databasel schema

拼车数据库模式

ride_users table 中的用户也是 RIDE table 中的乘车提供者。 我必须从 user_details table 中识别未提供任何乘车服务的用户详细信息,即他们不是乘车服务提供商。

试过了,但没有得到想要的结果。

select r1.user_id, u.*
from ride_users r1, user_details u
where r1.user_id <> (select distinct r1.user_id 
                     from ride_users r1 , ride r2 
                     where r1.ride_id = r2.ride_id 
                     and r1.user_id = r2.ride_provider_id
                     group by r1.user_id);`

根据您的描述,这听起来像是您想要的:

SELECT u.*
FROM user_details u
WHERE NOT EXISTS (SELECT 1 FROM ride_users r1 
    WHERE r1.user_id = u.user_id)

使用 Left join 并检查 null 以查看第二个实体是否存在 table。

SELECT u.*
FROM user_details u
LEFT JOIN ride r ON u.user_id = r.ride_provider_id
WHERE r.ride_provider_id IS NULL