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练习题练习的更多相关文章

  1. MySQL练习题

    MySQL练习题 一.表关系 请创建如下表,并创建相关约束 二.操作表 1.自行创建测试数据 2.查询“生物”课程比“物理”课程成绩高的所有学生的学号: 3.查询平均成绩大于60分的同学的学号和平均成 ...

  2. MySQL练习题参考答案

    MySQL练习题参考答案 2.查询“生物”课程比“物理”课程成绩高的所有学生的学号: 思路: 获取所有有生物课程的人(学号,成绩) - 临时表 获取所有有物理课程的人(学号,成绩) - 临时表 根据[ ...

  3. s15day12作业:MySQL练习题参考答案

    MySQL练习题参考答案   导出现有数据库数据: mysqldump -u用户名 -p密码 数据库名称 >导出文件路径           # 结构+数据 mysqldump -u用户名 -p ...

  4. Python/ MySQL练习题(一)

    Python/ MySQL练习题(一) 查询“生物”课程比“物理”课程成绩高的所有学生的学号 SELECT * FROM ( SELECT * FROM course LEFT JOIN score ...

  5. python/MySQL练习题(二)

    python/MySQL练习题(二) 查询各科成绩前三名的记录:(不考虑成绩并列情况) select score.sid,score.course_id,score.num,T.first_num,T ...

  6. python 全栈开发,Day65(MySQL练习题,参考答案)

    一.MySQL练习题 一.表关系 请创建如下表,并创建相关约束 二.操作表 1.自行创建测试数据 2.查询“生物”课程比“物理”课程成绩高的所有学生的学号.ps:针对的是自己的生物成绩比物理成绩高,再 ...

  7. mysql 练习题答案

    一 题目 1.查询所有的课程的名称以及对应的任课老师姓名 2.查询学生表中男女生各有多少人 3.查询物理成绩等于100的学生的姓名 4.查询平均成绩大于八十分的同学的姓名和平均成绩 5.查询所有学生的 ...

  8. MySQL练习题及答案(复习)

    新建一个叫做 review 的数据库,将测试数据脚本导进去.(可以使用Navicat查询功能) /* Navicat MySQL Data Transfer Source Server : DB So ...

  9. mysql练习题-查询同时参加计算机和英语考试的学生的信息-遁地龙卷风

    (-1)写在前面 文章参考http://blog.sina.com.cn/willcaty. 针对其中的一道练习题想出两种其他的答案,希望网友给出更多回答. (0) 基础数据 student表 +-- ...

随机推荐

  1. java 读取环境变量和系统变量的方法

    在web开发的过程中不免需要读取一些自定义的jvm系统变量或者环境变量.比如定义一些通用的log文件.或者数据库访问路径. 我们可以使用System.getProperties()读取所有的系统变量. ...

  2. Apache activiti5.13工作流框架的表结构详解

    1.结构设计 1.1.    逻辑结构设计 Activiti使用到的表都是ACT_开头的. ACT_RE_*: ’RE’表示repository(存储),RepositoryService接口所操作的 ...

  3. Hibernate笔记7--JPA CRUD

    1.环境搭建,注意包结构的问题,src下建立名为META-INF的文件夹,放persistence.xml,位置放错,读不到会报错. <?xml version="1.0" ...

  4. LeetCode Add Binary 两个二进制数相加

    class Solution { public: string addBinary(string a, string b) { if(a==""&&b==" ...

  5. 远程链接mongoDB robomongo

    墙裂推荐一个软件robomongo 下载地址:https://robomongo.org/download 最初不用这个软件的时候需要shell链接mongoDB,折腾了半天结果版本不匹配 用robo ...

  6. Android(java)学习笔记78:Java类初始化顺序

    1. Java类中初试化的顺序: 由此得出Java普通类初始化顺序结论: (1)静态变量 (2)静态初始化块 (3)变量 (4)初始化块 (5)构造器 由此得出Java继承类初始化顺序结论: (1)继 ...

  7. 【BZOJ1060】[ZJOI2007] 时态同步(树形DP)

    点此看题面 大致题意: 给你一棵带权树,每次使用道具可以将某条边的边权加\(1\),问你至少需要使用多少次道具,才能使每个叶子节点到根节点的距离相等. 贪心的思想 首先,我们应该先有一个贪心的思想. ...

  8. 前端面试题1:Object.prototype.toString.call() 、instanceof 以及 Array.isArray()三种方法判别数组的优劣和区别

    1. Object.prototype.toString.call() 每一个继承 Object 的对象都有 toString 方法,如果 toString 方法没有重写的话,会返回 [Object ...

  9. C#Aspose操作Word & Excel简版(后会研究补充更多功能)

    利用Aspose操作Word & Excel首先要在项目中标引用Aspose.Words.dll和Aspose.Cells.dll. 首先说一说向Word中写入数据,目前做的是向Word中的标 ...

  10. 【算法】Fibonacci(斐波那契数列)相关问题

    一.列出Fibonacci数列的前N个数 using System; using System.Collections.Generic; using System.Linq; using System ...