小菜菜mysql练习解读分析1——查询" 01 "课程比" 02 "课程成绩高的学生的信息及课程分数
查询" 01 "课程比" 02 "课程成绩高的学生的信息及课程分数
好的,第一道题,刚开始做,就栽了个跟头,爽歪歪,至于怎么栽跟头的
——需要分析题目,查询的是,查询的是(1)学生的信息(2)满足条件的学生的'课程分数'(不在学生表里)需要从另外一张表得来(3)条件是-" 01 "课程比" 02 "课程成绩高(成绩表就满足)
因此就是,需要获得学生的信息,那里满足该学生的01课程比02课程高!!!需要展示该学生的信息,及其01与02的分数~~~开始来
1、找出有01成绩的同学成绩信息
SELECT * from sc WHERE sc.CId='01'
查出结果如下:

2、找出有02成绩的同学成绩信息
SELECT * from sc WHERE sc.CId='02'

3、以上两种结果需要满足一定条件(1)SId要一致【同一人】(2)且01.score>02.score
然后咱们胡乱一操刀:
SELECT* FROM (SELECT * from sc WHERE sc.CId='01')as a,(SELECT * from sc WHERE sc.CId='02')as b

完美,接下来嫁接条件——行过滤——where
然后又一操刀
SELECT* FROM (SELECT * from sc WHERE sc.CId='01')as a,(SELECT * from sc WHERE sc.CId='02')as b WHERE a.SId=b.SId AND a.score>b.score

4、普天同庆,好像又离开心有丢丢远,接下来要干嘛,我也忘了~
5、看着拿到了SId,score,score1,当然是存下来,为了后面做准备,搞事
SELECT a.SId,a.score class1,b.score class2 FROM (SELECT * from sc WHERE sc.CId='01')as a,(SELECT * from sc WHERE sc.CId='02')as b WHERE a.SId=b.SId AND a.score>b.score

6、开心。然后咱们假装这是一个新表结果,又给命名,为r,和student一查,查出满足

SELECT * from student RIGHT JOIN
(SELECT a.SId,a.score class1,b.score class2 FROM (SELECT * from sc WHERE sc.CId='01')as a,(SELECT * from sc WHERE sc.CId='02')as b WHERE a.SId=b.SId AND a.score>b.score)r
ON student.SId=r.SId

大概的就查出来了,(⊙o⊙)…菜宝宝加油
【等等,这里仿佛用到了join on,还是right join on,那它跟left join,outer join,inner join ……各种方向的join 有什么区别,分别应用有撒不同呢,小菜菜下节试着分析解读一下】
小菜菜mysql练习解读分析1——查询" 01 "课程比" 02 "课程成绩高的学生的信息及课程分数的更多相关文章
- 小菜菜mysql练习解读分析2——查询存在" 01 "课程但可能不存在" 02 "课程的情况(不存在时显示为 null )
“查询存在" 01 "课程但可能不存在" 02 "课程的情况(不存在时显示为 null )” ——翻译为:课程表里面,存在01的信息,未必满足有02的课程情况 ...
- MySQL之pt-query-digest分析慢查询日志的详情介绍
一.简介 pt-query-digest是用于分析mysql慢查询的一个工具,它可以分析binlog.General log.slowlog,也可以通过SHOWPROCESSLIST或者通过tcpdu ...
- 小菜菜mysql练习50题解析——数据准备
附上数据准备: 学生表 create table Student(SId varchar(10),Sname varchar(10),Sage datetime,Ssex varchar(10)); ...
- Python操作Mysql数据库——多表组合查询
前面我们介绍了单张表的查询,包括模糊查询.分组.排序.各种筛选条件等等操作,在实际应用中,查询的数据往往不止局限在一张表里,通常需要多张表在一起进行组合查询,今天我们将会对Mysql当中的多张有关联的 ...
- MySQL多表数据记录查询详解
在实际应用中,经常需要实现在一个查询语句中显示多张表的数据,这就是所谓的多表数据记录连接查询,简称来年将诶查询. 在具体实现连接查询操作时,首先将两个或两个以上的表按照某个条件连接起来,然后再查询到所 ...
- MySQL 50条必练查询语句
Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表 #- ...
- mysql四-2:多表查询
一 介绍 本节主题 多表连接查询 复合条件连接查询 子查询 准备表 #建表 create table department( id int, name varchar(20) ); create ta ...
- mysql五-2:多表查询
一 介绍 本节主题 多表连接查询 复合条件连接查询 子查询 准备表 company.employeecompany.department #建表 create table department( id ...
- python、mysql四-2:多表查询
一 介绍 本节主题 多表连接查询 复合条件连接查询 子查询 准备表 #建表 create table department( id int, name varchar() ); create tabl ...
随机推荐
- ORA-02291: 违反完整约束条件 - 未找到父项关键字
由于大意,在设置数据库表时将外键字段的类型与外键表的主键字段类型不一致,造成此错误. 我的情况是: 1.将一个为number(10)的外键设置成了number(19) 2.将外键字段对应的主键表设置成 ...
- 第36章 SDIO—SD卡读写测试
第36章 SDIO—SD卡读写测试 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/f ...
- Codeforces round 1106
Div 2 536 题目链接 我还是太菜了.jpg E 傻逼DP直接做 我居然调了1.5h 我真的是太菜了.jpg 堆+扫描线直接维护每个位置的贪心结果 然后要么使用干扰 要么就接受贪心的结果 #in ...
- 20155237 2016-2017-2《Java程序设计》课程总结
20155237 2016-2017-2<Java程序设计>课程总结 预备作业1 刚接触Markdown的写法,初写博客,简单了解娄老师的教学方式. 预备作业2 怎么将学习java像学习一 ...
- 20155330 《网络攻防》 Exp3 免杀原理与实践
20155330 <网络攻防> Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 基于特征码.先对流行代码特征的提取,然后进行程序的比对,如果也检测到相应的特征码的程序 ...
- WPF编程,指定窗口图标、窗口标题,使得在运行状态下任务栏显示窗口图标的一种方法。
原文:WPF编程,指定窗口图标.窗口标题,使得在运行状态下任务栏显示窗口图标的一种方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_4330793 ...
- Health Endpoint Monitoring模式
Health Endpoint Monitoring模式是一种用来监控服务健康状态的模式. Health Endpoint Monitoring模式通过在应用内额外暴露一个可以进行功能检查的接口来实现 ...
- 列表生成式+过滤器(filter)+映射(map)+lambda总结
这些都是python的特色,不仅强大,而且好用,配合起来使用更是无敌. 零.lambda lambda用于产生一个匿名表达式,组成部分为:lambda + ‘函数表达式’ ‘函数表达式’由一个冒号加上 ...
- 汇编 AND 运算
AND运算 逻辑与&& 按位与& 一.AND运算 1&&12=1; 12&&0=0; 0&&1=0; 0040100 ...
- cocos2d-x学习记录3——CCTouch触摸响应
游戏不同于影音,强交互性是其一大特色,在游戏中主要体现为接受用户的输入并响应.智能手机触摸是其重要的输入方式. 在cocos2d-x中,触摸分为单点触摸和多点触摸. 单点触摸:主要继承CCTarget ...