Mysql查询,join空表时发生问题 财富值90

2017-01-21 17:46发布

问题是这样的,用户表有一个记录,现在想用用户表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附近出的错

3条回答
天战人 - 这个人很懒,什么都没留下
1楼 · 2017-01-21 18:07.采纳回答

以左表为基准,右表没数据也会返回左表的内容

SELECT * FROM table1 JOIN table2 
条件没有直接这样

左连接是这样玩的么..

一周热门 更多>