首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

查询“01“课程比“02“课程成绩高的学生的信息及课程分数 sql语句的详解

-- 1、查询"01"课程比"02"课程成绩高的学生的信息及课程分数 select a.* ,b.s_score as 01_score,c.s_score as 02_score from student...join score c on a.s_id=c.s_id and c.c_id='02' or c.c_id = NULL where b.s_score>c.s_score 首先是查出所有的01课程的成绩...,已经是全部的01课程的学生的成绩信息了。...score b on a.s_id=b.s_id and b.c_id='01' 以上是虚拟表,下面是和成绩表合并,查出02课程的全部的信息 left join score c on a.s_id...=c.s_id and c.c_id='02' 以上就是一个大的虚拟表,里面有01 课程的成绩,有02课程的成绩 现在就进行比较 where b.s_score>c.s_score 成绩进行比较,在一个虚拟表里面进行比较

5.8K30

数据分析中的SQL如何解决业务问题

按我目前与SQL相关的工作内容,为你提供以下参考:(食用说明:根据以下场景,选择需要重点学习的知识点)SQL应用场景及必备知识:(星标根据使用频率标记,而非重要性)数据查询 ★★★业务场景也就是常说的“...(成绩) FROM 成绩表 GROUP BY 课程复杂查询如嵌套子查询、标量子查询、关联子查询可应对更复杂的业务问题:如找出每个课程最高分的学生 → 需要按课程分组后找到最高成绩记录,可以应用关联子查询...---这部分从业务场景出发,讨论业务问题的解决方案与SQL知识点的关系,帮助答主解决学习了SQL之后可以做什么的问题。实战如何分析用户?——用SQL做一份数据分析报告涉及什么哪些知识点?...为了减少分析时语句的复杂性、避免重复执行相同语句,可以采用新建视图的方式,将重复性高的语句固定为视图,再在此基础上进行复杂查询。...R,F,M平均值获得所有用户的RFM值与阈值比较,通过「CASE WHEN」转为 '高'、'低' 两个值根据RFM高低值通过「CASE WHEN」将所有用户划分到八个人群中总结建议根据前文进行的分析,即可总结得出的结论

1.4K00
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【MySQL篇】聚合查询,联合查询

    返回查询到的数据的 总和,不是数字没有意义 AVG([DISTINCT] expr) 返回查询到的数据的 平均值,不是数字没有意义 MAX([DISTINCT] expr) 返回查询到的数据的 最大值...是一个用于对查询结果进行过滤的 SQL 语句,它通常与 GROUP BY 一起使用,用于过滤分组后的结果。...案例: 显示所有“计算机原理”成绩比“Java”成绩高的成绩信息 行与行比较大小 怎么办?...子查询是指嵌入在其他sql语句中的select语句,也叫嵌套查询, 简单来说就是把多个sql语句写成一个sql; 单行子查询:返回一行记录的子查询 查询与“不想毕业” 同学的同班同学: 思路:在student...= '不想毕业'; 多行子查询:返回多行记录的子查询 案例:查询“语文”或“英文”课程的成绩信息 思路:在course表中找到“语文”或“英文”课程的id  再在score表找到 id为它们的分数 1.

    9710

    sql中的 where 、group by 和 having 用法解析

    4、学校评选先进学生,要求平均成绩大于90分的学生都有资格,并且语文课必须在95分以上,请列出有资格的学生 //实际上,这个查询先把语文大于95分的学生号提取出来,之后求平均值,分组显示后根据...3的平均成绩高的学生学号以及平均分数 //having子句中可进行比较和子查询 SQL> select sno,avg(grade) from sc group...3的平均成绩高的学生学号以及平均分数 //having子句中可进行比较和子查询 SQL> select sno,avg(grade) from sc group by sno...3的平均成绩高的学生学号以及平均分数 //having子句中可进行比较和子查询 SQL> select sno,avg(grade) from sc group...3的平均成绩高的学生学号以及平均分数 //having子句中可进行比较和子查询 SQL> select sno,avg(grade) from sc group by sno

    12.9K30

    【MySQL】MySQL表的增删改查(进阶篇)——之查询操作(超级详解)

    执行语句:select max(整数类型的列) from 表名; SQL执行语句:select min(整数类型的列) from 表名; 注意:这里的函数分别代表求平均值,最大值,最小值;这里的类型要求都为数字类型...,通过分组查询,会将指定的分组列进行分组,让后通过聚合函数将对应的角色的薪水求平均值; 注意: 若直接求平均值,由于老板的薪水很高,会造成很大误差,分完组后,就不会产生误差; 若指定了分组的列,那么在进行查找时也应该写进去...表名,表名; 小编创建的表如下: 班级表: ​ 学生表: ​ 分数表: ​ 课程表: ​ 那么此时我们要查询许仙同学的成绩:那么就是学生表+成绩表; 1.创建笛卡尔积: mysql> select *...:select * from 表名,表名(同一个) 例如通过上述分数表中,查询谋和成绩比另一个成绩高的表时; 建立笛卡尔积: select * from score as s1,score as s2...='许仙'); 注意:单行子查询就是返回一行数据;这里就是将id=1中的1换成了上述通过许仙查询班级id的过程; 2.多行子查询 查询语文和英文的成绩信息; 返回两个课程id,然后再成绩表中找到对应的成绩信息

    30310

    数据分析面试必考—SQL快速入门宝典

    那么为了更好的理解SQL是什么,与其说它是结构化查询语言,不如称之为查询结构化数据的机器语言。虽然随着发展,SQL的功能已经不限于查询,但是查询语句永远是它的核心。...当然使用框架时依据实际情况灵活将XX换成实际需求的字段,并且这些关键字不是必须都存在的,如只有select和from,让机器知道从哪查询XX也是可以的。...2.1 聚合函数 聚合函数指依据某个规则做合并运算的一系列操作,通俗来讲就是把一列数聚合为一个数的操作,包括求和运算,平均值运算,最大最小值运算,分位点计算等等; 为什么聚合函数比较常用呢?...(3)having关键字 having关键字用于筛选出聚合值满足一定条件的数据项,例如我们计算每个同学的语数外三科成绩的平均值,同时想限制平均成绩 60分,即可使用having关键字筛选: having...,不同的是collect_list不去重而collect_set去重) cube (简称数据魔方,可以实现hive多个任意维度的查询) roll up (可以实现从右到做递减多级的统计,显示统计某一层次结构的聚合

    4.5K10

    【JavaWeb】62:单表查询,以及数据库总结

    比在DOS窗口中操作方便多了,那个黑乎乎的窗口真心不习惯,并且也没有提示。 今天详细地学习下数据记录的查询,同时最后对这几天的知识点做一个总结。...②查询成绩不等于90的同学 不等于在SQL中有三种表示方式: not score=90; score!...=90; score90; ③查询成绩在80和90之间的数据 也就是80SQL中有两种方式: between 80 and 90; score>=80 and score查询成绩为88,95,100的同学 在SQL中有两种方式: score in(88,95,100); score=88 or score=95 or score=100; or,即或者的意思。...having可以接聚合函数和别名,where都不可以,也就是说having查询条件比where广。 查询时,如非必要,用where的效率更高。 为什么?

    1.3K10

    MySQL:表的增删查改

    1.3.3 要插入的值与原数据有冲突但是连续更新了两次 如果我们想更新原数据,但是连着运行了两次命令,则第一次正常修改,第二次并不会改变什么。...例子三:查询同学各门成绩,依次按 数学降序,英语升序,语文升序的方式显示(先按数学,数学相同按英语,英语再相同按语文) 例子四:查询同学及总分,由高到低 order by中可以使用表达式。...因为: 例子五:查询姓孙的同学或者姓曹的同学数学成绩,结果按数学成绩由高到低显示 2.4 筛选分页结果 语法: -- 起始下标为 0 -- 从 0 开始,筛选 n 条结果 SELECT ......] expr) 返回查询到的数据的 平均值,不是数字没有意义 MAX([DISTINCT] expr) 返回查询到的数据的 最大值,不是数字没有意义 MIN([DISTINCT] expr) 返回查询到的数据的...未来只要我们处理好单表的CURD,所有的sql场景,我们全部都能用统一的方式进行。 总结: 好了,到这里今天的知识就讲完了,大家有错误一点要在评论指出,我怕我一人搁这瞎bb,没人告诉我错误就寄了。

    6310

    用SQL语句进行数据库查询(简单查询)

    使用聚合函数 count函数 使用Group子句进行查询 简单查询 上一篇我们介绍了如何用SQL语句创建表、修改表以及向表中插入数据.现在我们可以通过SQL语句对表中的数据按照自己的需求来进行查询....查询单个字段 –从课程表中查询出高数 与c语言程序设计的所有信息....例如: –查询成绩在75到80(闭区间)之间的学生的学号、课程号和成绩 select Sno as 学号,Cno as 课程号,grade as 成绩 from sc where Grade between...”号课程的学生平均成绩、最高分、最低分. avg()函数用于计算平均值 max()函数用于计算最大值 min()函数用于计算最小值 select avg(Grade) as 平均分,max(Grade)...最后,小伙伴们的点赞就是给牛牛最大的支持,能不能给牛牛来一个一键三连呢?谢谢支持。

    2.7K20

    Msql面试zongjie

    前言 说到数据库每次面试都会在sql语句上吃大亏,考察的问题无非是去重,连表查询,求最值,平均值等,看起来很简单吧,但是写起来还真有点困难,不会sql面试会大打折扣。...于是决定好好整理下sql,希望对大家有帮助 创建student和grade表 student: ? grade: ?...= 18 where id = 1002 删除数据 delete from student where id = 1006 and id = 1005 实战题 根据student和grade表 1.查询所有学生的数学成绩...,显示学生姓名name, 分数, 由高到低 2.统计每个学生的总成绩,显示字段:姓名,总成绩 3.统计每个学生的总成绩(由于学生可能有重复名字),显示字段:学生id,姓名,总成绩 4.列出各门课程成绩最好的学生..., 要求显示字段: 学号,姓名,科目,成绩 5.列出各门课程成绩最好的2位学生, 要求显示字段: 学号,姓名, 科目,成绩 1.select a.name ,b.score ,b.course from

    31411

    SQL语句汇总(三)——聚合函数、分组、子查询及组合查询

    分类: –COUNT:统计行数量 –SUM:获取单个列的合计值 –AVG:计算某个列的平均值 –MAX:计算列的最大值 –MIN:计算列的最小值 首先,创建数据表如下: ?...要查出C语言成绩比李四高的学生的信息: SELECT * FROM t_student WHERE student_subject='C语言' AND student_score >(SELECT student_score...子查询的分类: –相关子查询   执行依赖于外部查询的数据。   外部查询返回一行,子查询就执行一次。 –非相关子查询   独立于外部查询的子查询。   ...子查询总共执行一次,执行完毕后后将值传递给外部查询。 上文提到的例子中,第一个例子求学生对应班级名的即为相关子查询,其中WHERE c.class_id=s.class_id 即为相关条件。...上文说过相关子查询不推荐使用,组合查询又用的少之又少,那需要关联的多张表我们怎么做? 这就是下一篇博文要详细说明的SQL的重点表联接、联接查询。

    5.1K30

    2019Java面试宝典数据库篇 -- MySQL

    二、SQL 之聚合函数 聚合函数是对一组值进行计算并返回单一的值的函数,它经常与 select 语句中的 group by 子句一同使用。 avg():返回的是指定组中的平均值,空值被忽略。...三、SQL 之连接查询(左连接和右连接的区别) 外连接: 左连接(左外连接):以左表作为基准进行查询,左表数据会全部显示出来,右表如果和左表匹配的数据则显示相应字段的数据,如果不匹配则显示为 null。...防止 sql 注入的方式: 预编译语句:如,select * from user where username = ?,sql 语句语义不会发生改变,sql 语句中变量用?...4.对操作符的优化,尽量不采用不利于索引的操作符 如:in、not in、is null、is not null、等。...Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表 1、查询“001”课程比“002”课程成绩高的所有学生的学号

    1.9K20

    SQL用了两年多,我最常用的2个小技巧

    导读 SQL是所有数据从业者必须打牢的基本功之一,扎实的SQL查询和适当的调优技巧是检验SQL能力的两大重要准则。...,所以执行查询 select "0"=0 会返回1的,这既说明字符串"0"和数值0是相等的,也说明SQL中的布尔值会自动转换为1或0。...例如计算学生成绩表中每名学生的成绩的优秀率,即成绩在90分以上的科目与本人总科目的占比。为实现这一查询,常规的操作是分别统计每名学生成绩在90分以上的科目数量和总科目,然后进行相除得到占比。...配合使用if函数和null值,有时也可实现很好的效果。 例如,仍然针对以上学生成绩表,需要分别统计每名学生成绩在80分以上成绩的平均值,也就是如果成绩>=80则参与最后均值计算,否则不参与。...avg函数即直接实现了计算80分以上平均值的效果。

    48420

    图解面试题:如何分析游戏?

    【解题思路】 方法1:找出每门课程最差的成绩,然后再按条件去查找出对应的学号 1.找出每门课程最差的成绩 还记得我们在《从零学会sql》里讲过的吗?...两个表的联结条件是课程号相同,并且成绩也相同,所以是: on a.课程号=b.课程号 and a.成绩=b.成绩 多表查询的sql语句如下,就找到了每门课程里成绩最差的学生: select b.学号,...1.求出每门课程最差的成绩作为辅助列 使用窗口函数,将每一科目成绩的平均值求出。....当有“每个”出现的时候,要想到用“分组汇总”来完成这个业务需求 2.涉及到多个表时,使用多表查询 3.如何将业务需求使用sql来实现的能力 【举一反三】 下面的游戏玩家表(activity表)记录了游戏玩家在游戏平台上的行为活动...表的主键是 (player, event_date)。 【问题1】找出每位玩家第一次登陆平台的日期 找出每个玩家第一次登陆游戏平台的日期,也就是查找登陆游戏平台的日期最小的玩家id。

    59200

    高级SQL查询-(聚合查询,分组查询,联合查询)

    | 200 | ±—-±——+ | 3 | 300 | ±—-±——+ 例如上述Employee表,SQL查询应该返回200作为第二高的薪水。...如果不存在第二高的薪水,那么查询应该返回null。...查询以下数据: 查询姓名重复的员工信息 3,SQL查询关键字执行顺序 SQL查询关键字执行顺序 group by>having>order by>limit 三,联合查询(多表查询) 1...笛卡尔积称直积,表示为 X*Y,如 A 表中的数据为 m 行,B 表中的数据有 n 行,那么 A 和 B 做笛卡尔积,结果为 m *n 行。...,因为这个语句就 是内连接的查询语句 5,子查询 ⼦查询是指嵌⼊在其他 sql 语句中的 select 语句,也叫嵌套查询 示例 查询计算机或英语的成绩 select * from score_table

    4.4K10

    .NET面试题解析(11)-SQL语言基础及数据库基本原理

    查询语文“1”比数学“2”课程成绩高的所有学生的姓名 这是一个嵌套查询的题目,考察对子查询的使用,子查询结果作为一个集合可以当做一个独立的表来看待,子查询必须用括号括起来: select st....详细的SQL表连接操作可以参考:深入理解SQL的四种连接-左外连接、右外连接、内连接、全连接 12. 查询所有成绩第二名到第四名的成绩 select s....表/索引的存储结构 如下图,是一个B树(二叉搜索树)的示例,都是小的元素放左边,大的元素放右边,依次构造的,比如要查找元素9,从根节点开始,只要比较三次就找到他了,查询效率是非常高的。 ?...如果读的多,填充因子可以设置高一点,如100%,读写各一半,可以80~90%;修改多可以设置50~70%。...如果读的多,填充因子可以设置高一点,如100%,读写各一半,可以80~90%;修改多可以设置50~70%。

    64910

    程序员零基础速成SQL

    在没有实习练手机会的情况下,如何在短时间快速上手SQL对于在校学生或者非技术人员都是相当重要的。...成绩表 SQL的执行顺序与语法顺序 本篇文章关于SQL语法的部分会讲到条件子句(where子句)、分组查询(group by子句和having子句)、结果呈现(order by和limit)和连接查询...例如,有这么一个业务查询任务:在限定学生表学号小于等于6的一批学生中,查询每门课的最高成绩(最高成绩低于70分的课程不显示),然后根据课程最高成绩降序排列取前两条记录。查询的SQL如下: ?...查询SQL 为方便阅读,下面列出被查询的成绩表sc和查询后的结果: ? 查询结果 1....by&聚合函数&having子句) 分组查询实现了类似excel中数据透视表的功能,可以帮助我们对数据进行分层汇总,而我们对分层后的数据进行统计的时候需要用到聚合函数(也就是平均值、求和、最大值和最小值等

    1.5K10

    sql语句面试经典50题_sql基础知识面试题

    : 其他面试题: ---- SQL基础知识整理: select 查询结果 如: [学号,平均成绩:组函数avg(成绩)] from 从哪张表中查找数据 如:[涉及到成绩:成绩表score]...where 查询条件 如:[b.课程号=’0003′ and b.成绩>80] group by 分组 如:[每个学生的平均:按学号分组](oracle,SQL server中出现在select...在group by子句后出现),MySQL中可以不用 having 对分组结果指定条件 如:[大于60分] order by 对查询结果排序 如:[增序: 成绩 ASC / 降序: 成绩...如果上面题目不会做,可以复习这部分涉及到的sql知识: 3.复杂查询 查询所有课程成绩小于60分学生的学号、姓名 【知识点】子查询 1.翻译成大白话 1)查询结果:学生学号,姓名 2)查询条件:所有课程成绩...by)和汇总函数得到每个组里的一个值(最大值,最小值,平均值等)。

    2.9K20

    面试 SQL整理 常见的SQL面试题:经典50题

    ,解题思路如下: 其他面试题: ---- ---- SQL基础知识整理: select 查询结果 如: [学号,平均成绩:组函数avg(成绩)] from 从哪张表中查找数据 如:[涉及到成绩...:成绩表score] where 查询条件 如:[b.课程号=’0003′ and b.成绩>80] group by 分组 如:[每个学生的平均:按学号分组](oracle,SQL server...在group by子句后出现),MySQL中可以不用 having 对分组结果指定条件 如:[大于60分] order by 对查询结果排序 如:[增序: 成绩 ASC / 降序: 成绩...如果上面题目不会做,可以复习这部分涉及到的sql知识: 3.复杂查询 查询所有课程成绩小于60分学生的学号、姓名 【知识点】子查询 1.翻译成大白话 1)查询结果:学生学号,姓名 2)查询条件:所有课程成绩...by)和汇总函数得到每个组里的一个值(最大值,最小值,平均值等)。

    2.4K10

    常见的SQL面试题:经典50例

    ,相信就没有大问题了,这篇文章分享SQL50题 SQL基础知识整理 select 查询结果,如: [学号,平均成绩:组函数avg(成绩)] from 从哪张表中查找数据,如:[涉及到成绩:成绩表score...] where 查询条件,如:[b.课程号='0003' and b.成绩>80] group by 分组,如:[每个学生的平均:按学号分组](oracle,SQL server中出现在select 子句后的非分组函数...,必须出现在group by子句后出现),MySQL中可以不用 having 对分组结果指定条件,如:[大于60分] order by 对查询结果排序,如:[增序: 成绩 ASC / 降序: 成绩 DESC...=2; 如果上面题目不会做,可以复习这部分涉及到的sql知识: 3.复杂查询 查询所有课程成绩小于60分学生的学号、姓名 【知识点】子查询 1.翻译成大白话 1)查询结果:学生学号,姓名 2)查询条件...by)和汇总函数得到每个组里的一个值(最大值,最小值,平均值等)。

    7K42
    领券