一对多的两个表,查询主表的信息和主表在子表中的记录条数
看标题可能看的不明白。举例子来说
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
一对多的两个表,查询主表的信息和主表在子表中的记录条数相关推荐
- mongodb count查询记录条数
2019独角兽企业重金招聘Python工程师标准>>> count查询记录条数 使用count()方法查询表中的记录条数,例如,下面的命令查询表users的记录数量: db.user ...
- mybatis查询记录条数
这几天在学SSM框架,今天在SSM框架中根据某个条件查询mysql数据库中的记录条数,碰到一些问题,记录一下 User.xml <select id="userNameValidate ...
- mysql插入多行数据来自另一张表_mysql从一张表查询批量数据并插入到另一表中的完整实例...
说在前面 nodejs 读取数据库是一个异步操作,所以在数据库还未读取到数据之前,就会继续往下执行代码. 最近写东西时,需要对数据库进行批量数据的查询后,insert到另一表中. 说到批量操作,让人最 ...
- VLOOKUP函数制作多表查询(学生信息表/员工工资表)
VLOOKUP函数制作多表查询(学生信息表/员工工资表) 一.vlookup函数定义 VLOOKUP函数是Excel中的一个纵向查找函数,在工作中都有广泛应用,例如可以用来核对数据,多个表格之间快速导 ...
- MySQL LIMIT:限制查询结果的记录条数
在使用 MySQL SELECT 语句时往往返回的是所有匹配的行,有些时候我们仅需要返回第一行或者前几行,这时候就需要用到 MySQL LIMT 子句. 基本的语法格式如下: <LIMIT> ...
- mysql查询语句ppt,mysql查询表中数据总条数的语句怎么写
sql查询表中数据总条:SELECT COUNT(*) FROM 表名称.count(*)代表着抄数据统计的总数.例子本例返回 "Persons" 表中的行数:SELECT COU ...
- DBA用于查询当前数据库表格记录条数的脚本
本文中介绍的参考脚本用于查询当前数据库中所有表格的记录条数, 并将结果存入TableInfo表中,不会删除以备用户再做处理与分析.最后请各位读者删除此表. 脚本示例: if exists (selec ...
- 第七周 Java语法总结之数据库大全_DDL_DML_DQL_约束_备份与还原_表的关系_三大范式_多表查询(内连接_外连接_子查询)_musql事务_隔离级别
文章目录 数据库 DDL语句:数据库定义语句 1.库的增删查改 1.查询当前mysql下所有的数据库 2.创建数据库 3.查看创建数据库的默认的字符集(了解) 4.修改数据库的字符集(了解) 5.删除 ...
- mysql3表查询语句_MySQL基础语句三(多表查询)
今天让我们来学习mysql的多表查询,爱学习的你就是我的好朋友哦! 多表设计的两种方式:通过id关联(还可以是其他不重复的字段) 通过外键关联 主键: 能够唯一表示数据表中的每个记录的字段或者字段的组 ...
最新文章
- [湖南集训]更为厉害 树上主席树-以树深度为下下标建立主席树
- 【竞赛相关】Kaggle活跃竞赛(12月汇总)
- Java写入大字符串到oracle数据库_java程序如何提高oracle百万级数据的insert效率
- Liferay门户与CAS实现SSO单点登录
- mysql基础查询语法
- shell循环和分支
- ARP-地址解析协议(在实践中深入理解ARP协议)
- 狼殿下高清壁纸|不用等的好剧!
- 基于检索的自然语言处理模型研究梳理
- 黑灰产眼中的NFT:平台嗷嗷待宰,用户送钱上门
- HBase shell删除表失败:ERROR: Table user is enabled. Disable it first.
- 最新PESCMS Ticket客服工单系统源码+全新的设计理念
- 基于人工智能的地球物理参数反演范式理论及判定条件
- ClamWin杀毒程序的改写
- AJAX框架眼镜盒可爱,亲爱的顾客,这是一套框架眼镜日常护理的方法,请您收好!​...
- java double类型判空,简单封装JAVA空判断
- 老字号品牌玩跨界,是路子野还是博眼球?
- 一文搞懂晶振,晶振的作用和原理?
- jieba:一款为中文分词而生的Python库
- 洛谷:明明的随机数,C语言
热门文章
- python 开发框架_python的web开发框架有哪些
- Layui layer详细参数解释说明
- 等产量曲线中r_微观经济学第四章练习题
- android onfling参数,Android 屏幕手势滑动中onFling()函数的技巧分析
- php 获取视频首帧,从视频中提取特定帧的最快方法(PHP/ffmpeg/anything)
- 渗透测试入门1之信息收集
- 一个学校内部的计算机网络属于,一个教室内计算机联成的网络属于____。
- java 在某个范围内随机_java生成某个范围内的随机时间
- 从零开始实现数据结构(二) 有序数组
- SpringBoot 2.0 Actuator监控系统