导图社区 sql查询公司
sql查询公司,一图带你明白多表分组查询,包括一般查询的已知条件、写上显示字段、写上表名等,希望有帮助到各位!
1.jmeter创建线程组 http请求 消息头管理器 默认消息头 察看结果树; 2.jmeter通过jdbc连接mysql; 3.webservice接口的处理方式 soapUI的简单使用
接口测试的流程,以及拿到接口文档如何进行用例的编写
接口测试基础知识,知识涵盖1.http应用 2.get,post区别 3.状态码 4.cookie session token。
社区模板帮助中心,点此进入>>
安全教育的重要性
个人日常活动安排思维导图
西游记主要人物性格分析
17种头脑风暴法
如何令自己更快乐
头脑风暴法四个原则
思维导图
第二职业规划书
记一篇有颜又有料的笔记-by babe
伯赞学习技巧
sql查询模板
一般查询给的已知条件
1.显示字段
2.过滤值
结论:将上述两个已知条件的文字抽象成sql语句
1.写上显示字段
2.写上表名
从显示字段判断涉及几张表
3.是否where?
1.没有过滤值 不where
2.有过滤值接where(如果有having,则不用where)
1.显示字段涉及单表
1.过滤值不含聚合函数
举例:查询类型为3的用户表所有的字段
select * from t_user where type=3;
2.过滤值含聚合函数
1.直接输出值
举例:从student表中查询最小的学生年龄(sage)
select min(sage) from student;
结论:聚合函数有去重的效果
2.子查询返回值作为过滤值
举例:查询年龄最小学生的所有信息
select * from student where sage in(select min(sage) from student);
结论:当已知条件需要过滤值去输出表的其他数据时,可以使用子查询返回值作为过滤值,再去输出其他数据
2.显示字段涉及多表
where 表1.关联字段1=表2.关联字段2
4.能否group by?
1.显示字段涉及sum( ),avg( ), 必然分组
1.查询平均成绩大于60分的学生学号和平均成绩。
select sid,avg(score) from sc group by sid having avg(score)>60;
2.已知条件涉及conut( ),max( ),min( ),可能分组
1.查询所有学生的学号,姓名,选课数,总成绩。
select t1.sid,t1.sname,count(t2.1),sum(t2.score) from sc t2,student t1 where t1.sid=t2.sid group by t1.sid ;
结论:显示字段涉及一张表的多表查询,就用in的子连接, 而显示字段涉及多张表的查询,就直接多表关联字段
3.题目描述含有 每一个,各个,所有 字眼的可能分组
1.查询所有课程成绩都小于60分的学生姓名和学号。
分组写法
select sname,sid from student where sid in(select sid from sc GROUP BY sid having max(score)<60)
不分组写法
select sname,sid from student where sid not in (select sid from sc where score>60);
4.有重复值的字段,可能分组
5.找分组字段
1.多表分组,分组字段必然是关联字段
2.分组字段从显示字段找
排除聚合函数的字段
3.从重复值去找
含有重复值的字段才可能进行分组
6.找出聚合函数字段
排除分组字段
7.找出过滤值
题目已知条件
练习
1.查询没有学过课程代码为1的学生的姓名和学号
select sid,sname from student where sid not in (select sid from sc where cid=1)
进一步验证查询结果添加两条数据: sc表: 16005 2 33 student表: 16005 陈七 21 女
结论: 什么时候可以两次取反? in的子查询对于返回值大于1个的时候,可以进行两次取反
2.查询sc表中存在同一学生,同一课程代码是否有重复行,并返回有重复行学生的学号,姓名
select sid,sname from student where sid in(select sid from sc group by sid,cid having count(1)>1)
结论:将文字抽象成sql语句 1.同一学生,同一课程代码 group by 2.重复行 count(1)>1
select 显示字段(聚合函数) from 表名 where (多表的关联字段,单表的过滤值) group by 分组字段 having 聚合函数 order by 排序字段 limit m,n;