Java教程

sql三表查询

本文主要是介绍sql三表查询,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

今天突然遇到的一个小盲区

有三张表:

report表有举报者的userid,举报帖子的postid
post有postid,帖子作者userid
user_info有userid和username

想要查出举报者的id和名字,举报帖子作者的id和名字就是查不出来,大佬指点了下悟了

代码如下:

SELECT
r.report_id,
r.report_user,  //这个是举报者的userid
u1.user_name AS reporter,
r.post_id,
p.user_id,  //这个是帖子作者userid
u2.user_name AS author,
FROM
report r
JOIN post p ON r.post_id= p.post_id
JOIN user_info u1 ON r.report_user= u1.user_id
JOIN user_info u2 ON u2.user_id = p.user_id

原本我以为ON后只能写FROM后那个表的列,就没写最后一行,而且确定所有列都不为空的话就不用LEFT JOIN直接用JOIN

 

这篇关于sql三表查询的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!