看标题可能看的不明白。举例子来说

A表是班级表,字段:ID=班级编号,Name=班级名字

B表是学生表,字段:ID=班级编号,SID= 学生编号。

就是查询班级表的全部信息,然后也要查询出来班级表对应的学生数量。在群里问问,总结有两个比较简单,清晰的方法

第一个方法(城主):

select a.*, (select count(*) from b where b.ID=a.id) as 学生数量  from  a

这个看着比较清楚简单,

第二个方法(泪吻星痕):

select a.*,xx.人数
from  a, (select b.ID,count(ID) as 人数 from b group by b.ID) xx
where a.ID = xx.ID
这个方法用到一个临时表,相当于是先构造一个临时表,然后用班级表A和临时表做关联

泪吻星痕推荐使用第二个方法,理由是关联查询快,他也做过测试。我目前忙项目,自己还没有测试比较两个性能

但是其实两个sql查询的结果是不一样的

使用第一个方法,

查询出来班级信息和班级对应的学生数量。即使学生数量是0也是有班级信息的记录

第二个方法确如果学生数量为0的话,就不会显示对应的班级信息。

不过这个是小问题只要修改join关系就可以

select a.*,xx.人数
from  a left join  (select b.ID,count(ID) as 人数 from b group by b.ID) xx
on a.ID = xx.ID

本文使用Blog_Backup未注册版本导出,请到soft.pt42.com注册。

转载于:https://www.cnblogs.com/zjypp/archive/2010/04/27/2319359.html

一对多的两个表,查询主表的信息和主表在子表中的记录条数相关推荐

  1. mongodb count查询记录条数

    2019独角兽企业重金招聘Python工程师标准>>> count查询记录条数 使用count()方法查询表中的记录条数,例如,下面的命令查询表users的记录数量: db.user ...

  2. mybatis查询记录条数

    这几天在学SSM框架,今天在SSM框架中根据某个条件查询mysql数据库中的记录条数,碰到一些问题,记录一下 User.xml <select id="userNameValidate ...

  3. mysql插入多行数据来自另一张表_mysql从一张表查询批量数据并插入到另一表中的完整实例...

    说在前面 nodejs 读取数据库是一个异步操作,所以在数据库还未读取到数据之前,就会继续往下执行代码. 最近写东西时,需要对数据库进行批量数据的查询后,insert到另一表中. 说到批量操作,让人最 ...

  4. VLOOKUP函数制作多表查询(学生信息表/员工工资表)

    VLOOKUP函数制作多表查询(学生信息表/员工工资表) 一.vlookup函数定义 VLOOKUP函数是Excel中的一个纵向查找函数,在工作中都有广泛应用,例如可以用来核对数据,多个表格之间快速导 ...

  5. MySQL LIMIT:限制查询结果的记录条数

    在使用 MySQL SELECT 语句时往往返回的是所有匹配的行,有些时候我们仅需要返回第一行或者前几行,这时候就需要用到 MySQL LIMT 子句. 基本的语法格式如下: <LIMIT> ...

  6. mysql查询语句ppt,mysql查询表中数据总条数的语句怎么写

    sql查询表中数据总条:SELECT COUNT(*) FROM 表名称.count(*)代表着抄数据统计的总数.例子本例返回 "Persons" 表中的行数:SELECT COU ...

  7. DBA用于查询当前数据库表格记录条数的脚本

    本文中介绍的参考脚本用于查询当前数据库中所有表格的记录条数, 并将结果存入TableInfo表中,不会删除以备用户再做处理与分析.最后请各位读者删除此表. 脚本示例: if exists (selec ...

  8. 第七周 Java语法总结之数据库大全_DDL_DML_DQL_约束_备份与还原_表的关系_三大范式_多表查询(内连接_外连接_子查询)_musql事务_隔离级别

    文章目录 数据库 DDL语句:数据库定义语句 1.库的增删查改 1.查询当前mysql下所有的数据库 2.创建数据库 3.查看创建数据库的默认的字符集(了解) 4.修改数据库的字符集(了解) 5.删除 ...

  9. mysql3表查询语句_MySQL基础语句三(多表查询)

    今天让我们来学习mysql的多表查询,爱学习的你就是我的好朋友哦! 多表设计的两种方式:通过id关联(还可以是其他不重复的字段) 通过外键关联 主键: 能够唯一表示数据表中的每个记录的字段或者字段的组 ...

最新文章

  1. [湖南集训]更为厉害 树上主席树-以树深度为下下标建立主席树
  2. 【竞赛相关】Kaggle活跃竞赛(12月汇总)
  3. Java写入大字符串到oracle数据库_java程序如何提高oracle百万级数据的insert效率
  4. Liferay门户与CAS实现SSO单点登录
  5. mysql基础查询语法
  6. shell循环和分支
  7. ARP-地址解析协议(在实践中深入理解ARP协议)
  8. 狼殿下高清壁纸|不用等的好剧!
  9. 基于检索的自然语言处理模型研究梳理
  10. 黑灰产眼中的NFT:平台嗷嗷待宰,用户送钱上门
  11. HBase shell删除表失败:ERROR: Table user is enabled. Disable it first.
  12. 最新PESCMS Ticket客服工单系统源码+全新的设计理念
  13. 基于人工智能的地球物理参数反演范式理论及判定条件
  14. ClamWin杀毒程序的改写
  15. AJAX框架眼镜盒可爱,亲爱的顾客,这是一套框架眼镜日常护理的方法,请您收好!​...
  16. java double类型判空,简单封装JAVA空判断
  17. 老字号品牌玩跨界,是路子野还是博眼球?
  18. 一文搞懂晶振,晶振的作用和原理?
  19. jieba:一款为中文分词而生的Python库
  20. 洛谷:明明的随机数,C语言

热门文章

  1. python 开发框架_python的web开发框架有哪些
  2. Layui layer详细参数解释说明
  3. 等产量曲线中r_微观经济学第四章练习题
  4. android onfling参数,Android 屏幕手势滑动中onFling()函数的技巧分析
  5. php 获取视频首帧,从视频中提取特定帧的最快方法(PHP/ffmpeg/anything)
  6. 渗透测试入门1之信息收集
  7. 一个学校内部的计算机网络属于,一个教室内计算机联成的网络属于____。
  8. java 在某个范围内随机_java生成某个范围内的随机时间
  9. 从零开始实现数据结构(二) 有序数组
  10. SpringBoot 2.0 Actuator监控系统