mysql 一对多连表查询 异常

怎样变成下面这张图的结果?
本来应该出现👇的结果

img

但是现实是👇

img

这是sql查询语句


SELECT `user`.* ,book.id b_id, book.name b_name,book.price b_price from `user`
        left join book on user.id = book.user_id

img

img

left join就是以左表为基表去查询,如果右表没有数据就会空,或者你的 user.id = book.user_id对应不上,是不是有什么特殊字符空格之类的导致查不到数据,直接全部查出来看看

SELECT * from user
full join book on user.id = book.user_id


 
SELECT `user`.* ,book.id b_id, book.name b_name,book.price b_price,book.user_id b_user_id from `user`
        join book on user.id = book.user_id

执行下这个,截图看看