简单的一对多的sql查询


一个品牌表  一个分类表 中外键为品牌的的id

查询品牌的信息  相应的查出品牌下分类数量  sql

原sql:

SELECT
b.id,
b. NAME,
(
SELECT
COUNT(*)
FROM
jc_goods_cat
WHERE
goods_brand_id = b.id
) catNum
FROM
jc_goods_brand b

 数据查询的时候join的查询速率要更高一些;没有明确的数据表明子查询和join查询到底谁更快,如果数据量小的话用子查询反而更快一些

修改sql:

SELECT
b.id,
b. NAME,
COUNT(b.id) AS catNum
FROM
jc_goods_brand b
LEFT JOIN jc_goods_cat c ON b.id = c.goods_brand_id
GROUP BY
b.id

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM