SQL将第二个表中的行计数添加到主查询

SQL将第二个表中的行计数添加到主查询,第1张

SQL将第二个表中的行计数添加到主查询

最简单的方法可能只是将相关子查询移到子查询中。

注意: 许多优化程序极其有效地处理了相关子查询。 您的示例查询可能是完全合理的。

SELECt  a.*,  b.*,  c.row_countFROM  table_a   aLEFT JOIN  table_b   b    ON b.a_id = a.idLEFT JOIN(  SELECt    a_id,    Count(*)   row_count  FROM    table_c  GROUP BY    a_id)  c    ON c.a_id = a.id

另一个注意事项: SQL是一个表达式,不能直接执行,而是使用嵌套循环,哈希联接等将其转换为计划。请勿假设拥有两个查询是一件坏事。
在这种情况下,与单查询然后使用

GROUP BY
和相比,我的示例可以大大减少读取次数
COUNT(DISTINCT)



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5107436.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-17

发表评论

登录后才能评论

评论列表(0条)

保存