1、查询课程编号“001”比课程编号“002” 成绩高的所有学生的学号****

#把两个表同时放过来(并且都命名一个新的名字)一起查,

#1先找出所有包含学科为1 和学科为2 的学生 以便后续引用

select * from score where c_id=‘1‘;

select* from score where c_id=‘2‘#2 正式的代码

select A.s_idfrom (select * from score where c_id=‘1‘)as A, #同时引入两个表,并给表命名一个新的昵称 A 昵称B

(select * from score where c_id=‘2‘) as B where A.s_id=B.s_id and A.s_score>B.s_score#当满足即学学科1又学学科2 并且学科1的成绩大于学科二的成绩时,就显示出来

2、查询平均成绩大于60分的同学的学号和平均成绩;

SELECT s_id,avg(s_score) from score GROUP BY s_id having avg(s_score)>60 #group by 语句前边不能写where

3、查询所有同学的学号、姓名、选课数、总成绩;

SELECT s_id,count(SC.c_id),sum(s_score) from score SC,student STWHERE ST.s_id1=SC.s_id GROUP BY s_id#两表联合查询要让这两个表的学生id 关联起来

4、查询含有"子"的老师的个数;

SELECT count(1) from teacher where t_name like‘%子%‘ #count(1) 相当与给后边查出来的数据计数

5、查询没学过“老子”老师课的同学的学号、姓名;

##SELECT c_id from course co,teacher te where co.t_id=te.t_id and te.t_name=‘老子‘ #找到老子老师交的课程

SELECT DISTINCT st.s_id1,st.s_namefrom score S,student st where S.s_id not in(SELECT s_idfrom score where c_id in (SELECT c_id from course co,teacher te where co.t_id=te.t_id

and te.t_name=‘老子‘)) and st.s_id1=S.s_id

#注意distinct的用法 可以去重#先找出学过老子课程的学生,然后从总score表中查找(不属于学过老子课程的学生)没有学老子课程的学生 然后再关联到学生的表格中

6、查询学过“001”并且也学过编号“002”课程的同学的学号、姓名;

#1 先找到学过1 的和学过2 的学生ID****

SELECT s_id from score where c_id=‘1‘;

SELECT s_idfrom score where c_id=‘2‘SELECT distinct s_id,A.s_namefrom score,student A where s_id in(SELECT s_idfrom score where c_id=‘1‘) and s_id in(SELECT s_id from score where c_id=‘2‘) and s_id=A.s_id1## 上边这句话 可以找出只在 in (*****) 里边的内容 没有的不给出 精确性

找出即学过1也学过2的 学生ID 和学生姓名

7、查询学过“老子”老师所教的所有课的同学的学号、姓名;

SELECT s_id,S.s_name from score,student S WHERE c_id in (SELECT c_id from teacher te,course

where te.t_name=‘老子‘ and c_id= te.t_id) and s_id=S.s_id1

8、查询课程编号“002”的成绩比课程编号“001”课程低的所有同学的学号、姓名;

1.先找出学两个课程的学生

SELECT s_idfrom score where c_id =‘1‘;

SELECT s_idfrom score where c_id =‘2‘2再找出学两个课程而且课程A的成绩比课程2的成绩高的学生姓名学号

SELECT A.s_id,s_namefrom (SELECT * from score where c_id =‘1‘)A,(SELECT * from score where c_id =‘2‘)B,student

where A.s_score>B.s_score and A.s_id=B.s_id=s_id1

9、查询有课程成绩小于60分的同学的学号、姓名;

SELECT distinct st.s_id1,s_name from score sc,student st where s_score>‘60‘ and st.s_id1=sc.s_id

10、查询没有学全所有课的同学;

SELECT s_id1,s_name from student where s_id1 in(SELECT s_idfrom score GROUP BY s_id HAVING count(1) != (SELECT count(1) from course))

11、查询至少有一门课与学号为“002”的同学所学相同的同学的学号和姓名;

select sc.c_id from score sc,student st where sc.s_id =st.s_id and sc.s_id =‘2‘

select DISTINCT st.s_id,st.s_name from score sc,student st where

st.s_id =sc.s_id and sc.c_id in(select sc.c_id from score sc where sc.s_id =‘2‘)

12、查询学过 学号为“002”同学全部课程 的其他同学的学号和姓名;

select sc.c_id from score sc where sc.s_id = ‘2‘select st.s_id,st.s_namefrom score sc,student st where sc.s_id =st.s_id and st.s_id !=‘2‘ and sc.c_idin

(select sc.c_id from score sc where sc.s_id = ‘2‘)

GROUP BY sc.s_id HAVING count(1) = (select count(1) from score sc where sc.s_id = ‘2‘)

##学生学得课程在学生2的课程里 且查找出来的学生学的课程数量与学生2 学的课程数量一致

13、查询和“002”号的同学学习的课程完全相同的,其他同学学号和姓名;

14、把“score”表中“老子”老师教的课的成绩都更改为此课程的平均成绩;

15、删除学习“墨子”老师课的score表记录;

16、按平均成绩从高到低显示所有学生的“python”、“java”、“linux”三门的课程成绩,按如下形式显示: 学生ID,python,java,linux,有效课程数,有效平均分

17、查询各科成绩最高和最低的分:以如下形式显示:课程ID,最高分,最低分

18、按各科平均成绩从低到高和及格率的百分数从高到低顺序

19、查询老师所教课程平均分从高到低显示,并显示老师的名称及课程名称

20、统计列印各科成绩,各分数段人数:课程ID,课程名称,[100-85],[85-70],[70-60],[ <60]

21、查询每门课程被选修的学生数.

22、查询出只选修了一门课程的学生的学号和姓名

23、查询学生表中男生、女生人数

24、查询姓“张”的学生名单

25、查询同名学生名单,并统计同名人数

26、查询每门课程的平均成绩,结果按平均成绩升序排列,平均成绩相同时,按课程号降序排列

27、查询平均成绩大于85的所有学生的学号、姓名和平均成绩

28、查询课程名称为“python”,且分数低于60的学生姓名和分数

29、查询所有学生的选课情况,显示 学生编号,学生姓名,所选课程名称

30、查询任何一门课程成绩在70分以上的姓名、课程名称和分数;

31、查询不及格的课程,并按课程号从大到小排列

32、查询课程编号为003且课程成绩在80分以上的学生的学号和姓名

33、求 已选课程的学生人数

34、查询选修“老子”老师所授课程的学生中,成绩最高的学生姓名及其成绩

35、查询各个课程及相应的选修人数

36、查询不同课程但成绩相同的学生的学号、课程号、学生成绩

37、检索至少选修两门课程的学生学号

38、查询全部学生都选修的课程的课程号和课程名

39、查询没学过“老子”老师讲授的任一门课程的学生姓名

40、查询两门以上不及格课程的同学的学号及其平均成绩

41、检索“003”课程分数小于60,按分数降序排列的同学学号

42、删除“002”同学的“001”课程的成绩

mysql找出课程相同的两个学生_day41 mysql 学习 练习题重要相关推荐

  1. Leetcode04--给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的中位数。

    文章目录 题目 一.归并算法 二.二分查找法 题目 给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2.请你找出并返回这两个正序数组的中位数. 进阶:你能设计一个时间复杂度 ...

  2. mysql找出两个结果集不同数据_如何快速对比MySQL两个不同实例上的数据并找出差异...

    在MySQL运维中,研发同事想对比下两个不同实例上的数据并找出差异,除主键外还需要对比每一个字段,如何做呢? 第一种方案,写程序将两个实例上的每一行数据取出来进行对比,理论可行,但是对比时间较长. 第 ...

  3. 算法题:找出整数数组中两个只出现一次的数字

    问题:一个整数数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字.要求时间复杂度为O(n),空间复杂度为O(1). 分析:这是一个很新颖的关于位运算的题目. 首先考虑这 ...

  4. 算法题目--找出第一个出现两次的字符。

    //题目:<pre name="code" class="cpp"><span style="font-family: Arial, ...

  5. MySQL找出未提交事务的信息

    目录 一.processlist中的未提交事务 二.information_schema.innodb_trx中的未提交事务 三.performance_schema.events_statement ...

  6. MySQL: 找出员工表中最高、第二高、第N高的薪水

    假设有如下所示的员工薪水表: 找出表中最高的薪水非常简单,编写下面的SQL即可: SELECT max(Salary) as HighestSalary FROM Employee; 利用查询的嵌套, ...

  7. mysql查询 多门课程的平均成绩_数据分析中级 MySQL 任务6 总结复习

    0 入门 0.1 MySQL安装,Navicat安装: 0.2 MySQL设置,Nacicat设置,包括链接点,unicode-8: 0.3 创建表格,student, course, score, ...

  8. 使用MySQL找出地理围栏中心(重心)的简单方法

    需求 把地理围栏信息的中心(重心又或者叫做质心)找出来 注意点 一定要注意,需要第一个点和最后一个点相同,才能形成闭合多边形,这点很重要,不然会报错 > 3037 - Invalid GIS d ...

  9. MySQL找出锁等待

    1.服务器级别的锁等待 可以通过show processlist看到等待锁的线程id,但是无法知道究竟哪个线程持有锁 可以通过mysqladmin debug 相关等待锁的线程以及谁持有锁可以在错误日 ...

最新文章

  1. 码云新建仓库,与本地仓库关联
  2. Flex精华摘要--使用AS脚本
  3. Win2008 R2 RemoteApp深度体验之四,RemoteApp程序测试
  4. 这不是特效也不是魔术!
  5. CFD分析过程(CFD Analysis Process)
  6. 系统学习机器学习之神经网络(三)--GA神经网络与小波神经网络WNN
  7. 覆盖率测试工具gcov的前端工具_LCOV_简介
  8. 电容或电感的电压_电容、电感是如何储能的?
  9. 滴滴全线业务优化,芭比Q 了?
  10. win7 AnkhSVN 安装报错
  11. MATLAB绘制雷达图并导出矢量图到Visio编辑(论文用图)
  12. 新粉色苹果CMS10视频站源码模板 仿APP内附教程
  13. 20145212 罗天晨 信息搜集与漏洞扫描
  14. C语言中运算符的优先级排序表
  15. (翻译)表单中应使用文本域输入地址的原因
  16. springboot对接微信支付
  17. 上海智慧校园视频智能分析算法 yolov7
  18. 计算机组成原理——期末复习题
  19. 你的文件还都在桌面吗?也许是时候换个地方了
  20. 有效减小虚拟机占的内存

热门文章

  1. Mac Sublime repl 插件配置
  2. 火影忍者的内在深意--和平之路
  3. 你见过最烂的Java代码长什么样子?
  4. asp酒店房间预约系统的设计与实现
  5. 实时路径追踪篇 反射和折射
  6. java编写字母z算法_【Java】【每日算法/刷穿 LeetCode】6. Z 字形变换(中等)
  7. Mari 绘制高清脸部皮肤贴图
  8. 梦幻西游卖号显示该服务器没有角色,《梦幻西游》第一神豪秦奋要卖号了,35个角色价值过亿现四折出售,是因为没钱了吗?...
  9. 【Web】cgic简介
  10. 围圈报数c语言编程,59、1334:【例2-3】围圈报数(A)