sql表三个表关联,放一个表没有数据,如何使一个关联表也不显示数据?

sql表a.b.c表leftjoin关联后,其中a.b两个表有数据,c关联b,当c表没有数据时,b和c表均不显示信息,但是显示a表的一条数据... sql表a.b. c表left join关联后,其中a.b两个表有数据,c关联b,当c表没有数据时,b和c表均不显示信息,但是显示a表的一条数据 展开
 我来答
百度网友c565fb9
2023-03-01 · TA获得超过441个赞
知道小有建树答主
回答量:400
采纳率:88%
帮助的人:109万
展开全部

你可以使用 LEFT JOIN 来实现在一个关联表没有数据时不显示数据的效果。在这种情况下,可以通过将查询结果限制为只返回与关联条件匹配的行,从而过滤掉没有数据的关联表的结果。

具体来说,你可以使用以下 SQL 查询语句:


SELECT *

FROM a

LEFT JOIN b ON a.id = b.a_id

LEFT JOIN c ON b.id = c.b_id

WHERE c.id IS NOT NULL


这个查询语句将 a 表与 b 表关联,然后将 b 表与 c 表关联。如果 c 表中没有匹配的数据,那么 WHERE 子句中的条件 c.id IS NOT NULL 将过滤掉这些行,从而不会显示任何与 c 表有关的数据,而只会显示与 a 表和 b 表有关的数据。

请注意,这个查询语句前提是你至少需要一个 a 表中有匹配数据的记录才能显示,因为如果没有 a 表中的匹配记录,那么整个查询结果将为空,即使 b 表中有匹配数据。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式