简体   繁体   English

通过左联接和在条款中选择

[英]SELECT WITH LEFT JOIN AND WHERE CLAUSE

I have 2 tables: Users{username, UserID} AND Prizes{UserID, prize, status} 我有2张桌子:Users {用户名,UserID}和奖品{UserID,奖品,状态}

I want to select all the users (from Users Left Join Prizes) except the users who has 'status = dead' in the Prizes table 我想选择所有用户(从“左加入奖”的用户中),但“奖品”表中具有“状态=死亡”的用户

I think you need here is INNER JOIN because you only want to search fors user having status not equal to dead . 我认为您需要的是INNER JOIN因为您只想搜索状态不等于dead

SELECT  a.*, b.*
FROM    Users a
        INNER JOIN Prizes b
            ON a.userID = b.UserID
WHERE   b.status <> 'dead'

To further gain more knowledge about joins, kindly visit the link below: 要进一步获得有关联接的知识,请访问以下链接:

UPDATE 1 更新1

SELECT  a.*, b.*
FROM    Users a
        LEFT JOIN Prizes b
            ON a.userID = b.UserID
WHERE   b.UserID IS NULL OR b.status <> 'dead'

Try this; 尝试这个;

select u.* 
from users as u 
left join prizes as p 
on u.userid = p.userid 
where p.status <>'dead';

Thanks 谢谢

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM