现在是这样的
我有两个表 表A和表B
我用company_id查询到表A的saas_id
然后用查询到的saas_id当做条件去表B查询
最后要拿到表B的数据
如果一个表一个表的查,要查两次,有点麻烦,这里我用到了子查询
SELECT (
SELECT pay_channel_id
FROM B
WHERE saas_id=st.saas_id
AND pay_channel_type=1
) pay_channel_id
FROM A st
WHERE st.company_id = 217806
因为最后要展示的是表B的数据,直接把表B的子查询放在 select中,
先进行表A操作,拿到表A的数据去做表B的条件筛选
然后再对表B查询出来的数据名进行格式化操作 pay_channel_id
要注意的是,子查询里面的语句查询出来的数据只能有一条数据,不能有多条数据,不然会报错
本文介绍了一种使用子查询优化数据库查询效率的方法。通过一次查询同时获取表A和表B的相关数据,避免了多次查询的繁琐,特别适用于需要跨表关联查询的场景。文章详细解释了如何构建子查询,并注意子查询结果的唯一性要求。
2万+

被折叠的 条评论
为什么被折叠?



