mysql练习题练习
1、数据库是按照原文制作的,表格结构一样具体存储的数据有些差异
原文地址:MySQL练习题
原答案地址:MySQL练习题参考答案
2、查询“生物”课程比“物理”课程成绩高的所有学生的学号;
select wl.sid from (select sc.student_id as sid,sc.number as grade from score sc,course c
where c.cid=sc.course_id and c.cname='物理') as wl,(select sc.student_id as sid,sc.number as
grade from score sc,course c where c.cid=sc.course_id and c.cname='生物') as sw where
wl.sid=sw.sid and sw.grade>wl.grade;
3、查询平均成绩大于60分的同学的学号和平均成绩;
select student_id,avg(number) as avg from score group by student_id having avg(number)>60;
4、查询所有同学的学号、姓名、选课数、总成绩;
select s.sid,s.sname,w.total,w.sum from student s,(select student_id,count(course_id) as
total,sum(number) as sum from score group by student_id) as w where s.sid=w.student_id;
5、查询姓“李”的老师的个数;
select count(*) from teacher where tname like '钱%';
6、查询没学过“叶平”老师课的同学的学号、姓名;
select s.sid,s.sname from student as s where s.sid not in (select distinct sc.student_id from
score as sc,teacher as t,course as c where t.tid=c.teacher_id and c.cid=sc.course_id and
t.tname='赵');
7、查询学过“001”并且也学过编号“002”课程的同学的学号、姓名;
select student.sid,student.sname from student,(select * from score where course_id=1) as w,
(select * from score where course_id=2) as e where w.student_id=e.student_id and
student.sid=w.student_id;
8、查询学过“叶平”老师所教的所有课的同学的学号、姓名;
select s.sid,s.sname from student as s where s.sid in (select distinct sc.student_id from
score as sc,teacher as t,course as c where t.tid=c.teacher_id and c.cid=sc.course_id and
t.tname='赵');
9、查询课程编号“002”的成绩比课程编号“001”课程低的所有同学的学号、姓名;
select student.sid as id,student.sname as name from student,(select w.student_id as wid from
(select * from score where course_id=1) as w,(select * from score where course_id=2) as e
where w.student_id=e.student_id and w.number>e.number) as m where m.wid=student.sid;
10、查询有课程成绩小于60分的同学的学号、姓名;
select s.sid as id,s.sname as name from student as s,score as sc where s.sid=sc.student_id
and sc.number<60 group by s.sid;
11、查询没有学全所有课的同学的学号、姓名;
select sid,sname from student where sid in (select distinct student_id from score group by
student_id having count(course_id)=(select count(*) from course));
12、查询至少有一门课与学号为“001”的同学所学相同的同学的学号和姓名;
select sid,sname from (select distinct student_id from score left join (select course_id from
score left join student on score.student_id = student.sid where student.sid=1) as c on
score.course_id = c.course_id where student_id != 1) s left join student on
s.student_id=student.sid;
13、查询至少学过学号为“001”同学所有一门课的其他同学学号和姓名;
select student.sid,student.sname from student right join score on
student.sid=score.student_id where student_id!=1 and course_id in (select course_id from
score where student_id=1) group by student_id having count(course_id)=(select count
(course_id) from score where student_id=1);
14、查询和“002”号的同学学习的课程完全相同的其他同学学号和姓名;
select sid,sname from student where sid in (select student_id from score right join (select
course_id from score where student_id=1) w on score.course_id=w.course_id where student_id!=1
group by student_id having count(student_id)=(select count(*) from score where
student_id=1));
15、删除学习“叶平”老师课的SC表记录;
delete from score where course_id in (select cid from teacher,course where
teacher.tid=course.teacher_id and teacher.tname='周');
16、向SC表中插入一些记录,这些记录要求符合以下条件:①没有上过编号“002”课程的同学学号;②插入“002”号课程的平均成绩;
insert into score(student_id,course_id,number) select sid,1,(select avg(number) from score
where course_id=1) from student where sid not in (select student_id from score where
course_id=1);
未完待续
mysql练习题练习的更多相关文章
- MySQL练习题
MySQL练习题 一.表关系 请创建如下表,并创建相关约束 二.操作表 1.自行创建测试数据 2.查询“生物”课程比“物理”课程成绩高的所有学生的学号: 3.查询平均成绩大于60分的同学的学号和平均成 ...
- MySQL练习题参考答案
MySQL练习题参考答案 2.查询“生物”课程比“物理”课程成绩高的所有学生的学号: 思路: 获取所有有生物课程的人(学号,成绩) - 临时表 获取所有有物理课程的人(学号,成绩) - 临时表 根据[ ...
- s15day12作业:MySQL练习题参考答案
MySQL练习题参考答案 导出现有数据库数据: mysqldump -u用户名 -p密码 数据库名称 >导出文件路径 # 结构+数据 mysqldump -u用户名 -p ...
- Python/ MySQL练习题(一)
Python/ MySQL练习题(一) 查询“生物”课程比“物理”课程成绩高的所有学生的学号 SELECT * FROM ( SELECT * FROM course LEFT JOIN score ...
- python/MySQL练习题(二)
python/MySQL练习题(二) 查询各科成绩前三名的记录:(不考虑成绩并列情况) select score.sid,score.course_id,score.num,T.first_num,T ...
- python 全栈开发,Day65(MySQL练习题,参考答案)
一.MySQL练习题 一.表关系 请创建如下表,并创建相关约束 二.操作表 1.自行创建测试数据 2.查询“生物”课程比“物理”课程成绩高的所有学生的学号.ps:针对的是自己的生物成绩比物理成绩高,再 ...
- mysql 练习题答案
一 题目 1.查询所有的课程的名称以及对应的任课老师姓名 2.查询学生表中男女生各有多少人 3.查询物理成绩等于100的学生的姓名 4.查询平均成绩大于八十分的同学的姓名和平均成绩 5.查询所有学生的 ...
- MySQL练习题及答案(复习)
新建一个叫做 review 的数据库,将测试数据脚本导进去.(可以使用Navicat查询功能) /* Navicat MySQL Data Transfer Source Server : DB So ...
- mysql练习题-查询同时参加计算机和英语考试的学生的信息-遁地龙卷风
(-1)写在前面 文章参考http://blog.sina.com.cn/willcaty. 针对其中的一道练习题想出两种其他的答案,希望网友给出更多回答. (0) 基础数据 student表 +-- ...
随机推荐
- weblogic 忘记控制台账号密码 进行重新设置
第一步:首先要关闭weblogic服务. 第二步:对一些重要的文件进行备份: 1. 为了保证操作安全,备份%DOMAIN_HOME%/security/DefaultAuthenticatorInit ...
- python3基础08(exec、bytearray使用等)
#!/usr/bin/env python# -*- coding:utf-8 -*- str="test"print(ascii(str))a=bytearray("a ...
- javascript的Array.prototype.map()和jQuery的jQuery.map()
两个方法都可以根据现有数组创建新数组,但在使用过程中发现有些不同之处 以下面这个数据为例: var numbers = [1, 3, 4, 6, 9]; 1. 对undefined和null的处理 a ...
- ArcGIS10.1的安装问题
注:必须用3个带0的文件夹里面的东西安装 1.先装Pre-release_license_manager ,然后停掉. 2.然后安装0Desktop/ArcGIS_Desktop, 3.打开0Ke ...
- thinkphp分页+条件查询
最近项目上面有一个带条件查询的分页列表,一开始form用的post,点击第二页就没有跳转成功,原因是分页是get请求,post数据链接到其他页面就会被清除. 解决办法: 1.form表单method= ...
- C++,C++编程,Windows编程,MFC
编程 我们日常生活中接触到的电子类产品中的应用都是由编程而来 为什么编程,偷懒 我们通过编程驱使(指挥,命令)的是电信号 为什么上面说编程是偷懒,电的发现,给人们带来了便利,人们在各个方面驱使(换成“ ...
- SAP成都研究院的体育故事
"平生不识陈近南,纵称英雄也枉然". 这是清朝反government武装圈子里流传的一句话,给予了天地会CEO陈近南极高的评价. 同样,如果您是SAP体育运动界的一份子,而您还不认 ...
- HTML和CSS一般有哪些功能?(聊~平时常出现的那些知识)
简单一点点 HTML行内标签有哪些? 一般行内的标签包含哪些? 如:a - 锚点, span - 常用内联或定义块级容器, i - 斜体, b - 粗体, strong - 粗体强调, var - 定 ...
- innerHTML和outerHTML的区别
一.区别:1)innerHTML: 从对象的起始位置到终止位置的全部内容,不包括Html标签.2)outerHTML: 除了包含innerHTML的全部内容外, 还包含对象标签本身. 二.例子: &l ...
- constraint的一些用法总结
主要就是增加约束的 以下几种约束 .并 一一列举: 1.主键约束: 要对一个列加主键约束的话,这列就必须要满足的条件就是分空 因为主键约束:就是对一个列进行了约束,约束为(非空.不重复) 以下是代码 ...