当前位置: 首页 > news >正文

青岛网站建设 大公司下载优化大师安装桌面

青岛网站建设 大公司,下载优化大师安装桌面,建设网站软件下载,优秀网站的特点关于连表 查询两个表 SELECT * FROM study_article JOIN study_article_review 查询的就是两个表相乘,结果为两个表的笛卡尔积 相这样 这种并不是我们想要的结果 通常会添加一些查询条件 SELECT * FROM study_articleJOIN study_article_review ON study_art…

关于连表

查询两个表

SELECT *
FROM `study_article`
JOIN study_article_review 

查询的就是两个表相乘,结果为两个表的笛卡尔积

相这样

这种并不是我们想要的结果

通常会添加一些查询条件

SELECT *
FROM `study_article`JOIN study_article_review ON study_article.id=study_article_review.article_id

查询结果为

那么就会查询id=article_id的数据

左外连接,就是主表都查询出来,然后右表根据条件匹配

sql

SELECT *
FROM `study_article`
LEFT JOIN study_article_review ON study_article.id=study_article_review.article_id

相比于上面这种把主表的数据都查出来了

分组查询,就是对某一列的数据的相同的分组 group by 这一列

查询文章列表,并且查询每条文章的评论数

sql语句

SELECT study_article.id, study_article.content, study_article.title, study_article.url, count(study_article.id) AS count
FROM `study_article`
LEFT JOIN study_article_review ON study_article.id=study_article_review.article_id
GROUP BY study_article.id

然后这样的查询结果为

因为文章和评论属于1对多的关系,左外连接评论表就会产生许多多余的文章数据,所以要对文章id进行分组,然后统计文章id的数量就是这个文章的评论数量

2024 11.20 补充 虽然上面连表分组查询也可以,但是太过于麻烦,并且扩展性不太好

,如果我们要查询文章表的点赞数和评论数 就相当于文章表既要连接评论表统计评论数量,又要连接点赞表统计点赞表的数量,就相当于文章表要 left join 两次,当然也可以这样

select a.*,count(study_star.obj_id) as liked from 
(
SELECT study_article.id, study_article.content, study_article.title, study_article.url, count(study_article_review.article_id) AS reviewCount
FROM `study_article`
LEFT JOIN study_article_review ON study_article.id=study_article_review.article_id
GROUP BY study_article.id
) as a
left JOIN study_star on a.id=study_star.obj_id
GROUP BY a.id

就是先文章表左外连接评论表统计出评论数目 文章id分组,然后在把这个查询出来的表作为子查询

再左外连接点赞表统计出点赞的数量 id分组

虽然也可以实现但过于复杂

第二种方法

SELECT 
study_article.id, study_article.content, study_article.title, study_article.url,
(SELECT COUNT(1) FROM study_article_review where article_id=study_article.id) as reviewCount,
(SELECT COUNT(1) FROM study_star where study_star.obj_id=study_article.id) as likedFROM study_article

把子查询放到select之后分别查询点赞量和评论量,这样子扩展性大大提升 结果一样

查询父级评论列表,并查询该父级评论的子评论数量

要查询评论的子评论数量条件是pid等于父级评论的id

可以连表,自身连接自身条件为第一张表的id等于第二张表的pid,查询父级评论为

SELECT * FROM study_article_review as s1
left JOIN  study_article_review as s2  on s1.id=s2.pid
WHERE s1.pid=0

由于一个评论有很多回复属于一对多连接,对第一个表id分组,聚合查询回复数量

SELECT s1.*,count(s2.pid) AS reviewCount FROM study_article_review as s1
left JOIN  study_article_review as s2  on s1.id=s2.pid
WHERE s1.pid=0
GROUP BY s1.id

结果

http://www.shuangfujiaoyu.com/news/44775.html

相关文章:

  • 鞍山建一个网站大概要多少钱长沙seo外包服务
  • 前端制作个人网站百度app下载官方免费下载最新版
  • 专业vi设计公司哪家强厦门网站快速排名优化
  • 哪个网站可以接程序项目来做重庆seo技术博客
  • 上海做网站多少费用百度企业官网认证
  • 静态网站和动态网站的区别广告联盟下载app
  • easyui做网站seo技术培训唐山
  • 内网门户网站win优化大师怎么样
  • wp做音乐网站必备淘宝产品关键词排名查询
  • 成都租车公司网站最新seo自动优化软件
  • 如何自建设网站品牌推广方案范文
  • 什么是网络设计原则china东莞seo
  • 网站镜像代理怎么做百度云网页版登录入口
  • 桂林市区旅游攻略必去景点重庆seo顾问
  • 大连模板网站制作服务自己怎么做网站推广
  • 网站用 做有什么好处seo接单平台
  • 哪些网站的简历做的比较好山东潍坊疫情最新消息
  • 广州地铁18号线武汉seo首页优化技巧
  • wordpress 设置404页面模板响应式模版移动优化
  • 保定建设网站及推广电商网站运营
  • 惠州网站建设技术外包企业建设网站公司
  • 徐州在线网系统优化方法
  • 微信公众号手机网站开发搜狗推广助手
  • 做淘宝客网站需要多大空间网站推广的意义和方法
  • 网站首页布局设计原理站长工具百度
  • 关于做网站策划书推广产品引流的最佳方法
  • 奉贤网站制作手机维修培训班学校
  • 简述企业建设网站的必要性网站推广优化设计方案
  • 顺德企业手机网站建设百度官方免费下载
  • 如何与别的网站做友情链接网络广告人社区官网