首页 > 数据库 > > Mysql查询,join空表时发生问题
问题是这样的,用户表有一个记录,现在想用用户表join另一张计算出来的表,查询用户表的一个记录和另一张计算出来的表的所有记录。
但是这张计算得来的表有可能是空的,当它是空表的时候,最后的查询结果就只能是空值了
select * from user u1 join (select * from user where user.id=2) as u2 where u1.id=1;
比如以上这个sql语句,user表只有id为1的记录。查询出来是Empty set
怎么让它把id为1的记录取出来?
PS:试过左连接,,结果不行,报错了
select * from user u1 left join (select * from user where user.id=2) as u2 where u1.id=1;
在where u1.id=1附近出的错
ps:
这个需求的原型是根据用户id,取出用户对象和对应的好友列表。当该用户没有好友时,计算出来的好友表就是空值。整个sql语句查询结果就是空集。
现在想要取出用户信息。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/1595/viewspace-3156293/ ,如需转载,请注明出处,否则将追究法律责任。