确定MySQL中的列值是否为null /非null

Pau*_*ega 3 mysql sql join

我有两个表,一个包含用户数据,user另一个包含那些用Twitter绑定帐户的用户,user_twitter.由于第二个表不包含每个用户的对应值(例如那些尚未将其帐户与Twitter连接的用户),我使用LEFT JOIN进行查询:

SELECT DISTINCT `user_twitter`.uid AS `connected` 
FROM `user` 
LEFT JOIN (SELECT uid FROM `user_twitter`) AS `user_twitter` ON `user`.uid = `user_twitter`.uid
Run Code Online (Sandbox Code Playgroud)

我想做的是返回一个布尔值(如果user_twitter.uid是非空值,则为true,如果为空,则为false).有什么指针吗?

Joh*_*Woo 5

SELECT  a.uid AS `connected`,
        (b.uid IS NOT NULL) bool_val
FROM    `user` a
        LEFT JOIN `user_twitter` b
            ON a.uid = b.uid
Run Code Online (Sandbox Code Playgroud)

将返回0false和1true.但是,如果你想要true或的字符串值false,

SELECT  a.uid AS `connected`,
        CASE WHEN b.uid IS NOT NULL THEN 'True' ELSE 'False' END bool_val
FROM    `user` a
        LEFT JOIN `user_twitter` b
            ON a.uid = b.uid
Run Code Online (Sandbox Code Playgroud)