MYSQL 思考题5 参考答案

这篇具有很好参考价值的文章主要介绍了MYSQL 思考题5 参考答案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

导读:思百遍,练千遍,循序渐进,终有所成。加油-陌生人

一、创建数据库

CREATE DATABASE IF NOT EXISTS XSCJ DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_ci;

二、创建各个表格及数据

1、xs表

create table XS(学号 int(6) not null primary key ,
                                          姓名 char(8) not null,
                                          专业名 char(8) not null,
                                          性别 char(2) not null,
                                          出生时间 date not null,
                                          总学分 int(4) not null,
                                          照片 blob,
                                          备注 char(30));

数据

insert into xs values(081101,'王林','计算机','男','1990-02-10',50,null,null),
                                                (081102,'程明','计算机','男','1991-02-1',50,null,null),
                                               (081103,'王燕','计算机','女','1989-10-06',50,null,null),
                                                (081104,'韦艳萍','计算机','男','1990-08-26',50,null,null),
                                                (081106,'李方方','计算机','男','1990-11-20',50,null,null),
                                                (081107,'李明','计算机','男','1990-05-1',54,null,'提前修完《数据结构》'),
                                                (081108,'林一凡','计算机','男','1989-08-5',52,null,'已提前修完一门课'),
                                                (081109,'张强民','计算机','男','1989-08-11',50,null,null),
                                                (081110,'张威','计算机','女','1991-07-22',50,null,'三好生'),
                                                (081111,'赵琳','计算机','女','1990-03-18',50,null,null),
                                                (081113,'嫣红','计算机','女','1989-08-11',48,null,'有一门功课不及格待考'),
                                                (081201,'王敏','通信工程','男','1989-06-10',42,null,null),
                                                (081202,'王林','通信工程','男','1989-01-29',40,null,'有一门功课不及格待考');

2、kc表

create table KC(课程号 int(6) not null primary key ,
                                         课程名 char(8) not null,
                                         开课学期 int(4) not null,
                                         学时 int(4) not null,
                                         学分 int(3));

数据

insert into KC values(101,'计算机基础',1,80,5),
                                        (102,'程序设计语言',2,68,4),
                                        (206,'离散数学',4,68,4),
                                        (208,'数据结构',5,68,4),
                                        (209,'操作系统',6,68,4),
                                        (210,'计算机原理',5,85,5),
                                        (212,'数据库原理',7,68,4),
                                        (301,'计算机网络',7,51,3),
                                        (302,'软件工程',7,51,3);

3、xs_kc表

create table XS_KC(学号 int(6) not null,
                                         课程号 int(8) not null,
                                         成绩 int(4) not null,
                                         学分 int(3));

数据

insert into XS_KC values(081101,101,80,5),
                                        (081101,102,78,4),
                                        (081101,206,76,4),
                                        (081102,102,78,4),
                                        (081102,206,78,4),
                                        (081103,101,62,5),
                                        (081103,102,70,4),
                                        (081103,206,81,4);

三、解题方式

1、#查询xs表中各个同学的姓名、专业名、总学分

select 姓名,专业名,总学分
from xs;

MYSQL 思考题5 参考答案

2、#查询xs表中计算机系同学的学号、姓名、总学分,结果中各列的标题分别制定为number、name、mark

select 学号 as number,姓名 as name,总学分 as mark
from xs;

MYSQL 思考题5 参考答案

3、#查询xs表中计算机系各同学的学号、姓名、总学分,对其总学分按一下规则进行替换:若总分数位为空值,替换为“尚未选课”;若总学分小于50,替换为“不及格”;若总学分在50~52之间,替换为“合格”;总学分大于52替换为优秀,。列标题改为等级。

select 学号,姓名,总学分,
case
when 总学分 is null then '尚未选课'
when 总学分 < 50 then  '不及格'
when 总学分>=50 and 总学分<=52 then '合格'
when 总学分>52 then '优秀'
end as 等级
from xs;

MYSQL 思考题5 参考答案

4、#按120分计算成绩,显示xs_kc表中的学号为081101的学生课程信息。

select kc.*,xs_kc.成绩
from xs join xs_kc on xs.学号 = xs_kc.学号 join kc on xs_kc.课程号=kc.课程号
where xs.学号=081101;

MYSQL 思考题5 参考答案

5、 #对xs表只选择专业名和总学分,消除结果集中的重复行

select distinct 专业名,总学分
from xs;

MYSQL 思考题5 参考答案

6、#求学生的总人数

select count(*) as 总人数
from xs;

MYSQL 思考题5 参考答案

7、 #统计备注不为空的学生数目

select  count(*) as 备注不为空
from xs
where 备注 IS NOT NULL;

MYSQL 思考题5 参考答案

8、#统计总学分在50分以上的人数

select count(总学分>50 or null) as 总学分50分以上
from xs;

MYSQL 思考题5 参考答案

9、 #求选修101课程的学生所学课程的最高分和最低分

select max(成绩),min(成绩)
from xs_kc
where 课程号=101;

MYSQL 思考题5 参考答案

10、 #求学号081101的学生所学课程的总成绩

select sum(成绩) as 总成绩,xs.学号
from xs join xs_kc using(学号)
where 学号=081101;

MYSQL 思考题5 参考答案

11、 #求选修101课程的学生的平均成绩

select avg(成绩)
from xs_kc
where 课程号 like 101;

MYSQL 思考题5 参考答案

12、 #查询xs表中学号为081101的学生情况

select 学号,姓名,性别,总学分
from xs
where 学号 = 081101;

MYSQL 思考题5 参考答案

13、 #查询xs表中总学分大于50的学生情况

select 学号,姓名,性别,总学分
from xs
where 总学分>50;

MYSQL 思考题5 参考答案

14、 #查询xs表中备注为空的同学情况

select 学号,姓名,性别,总学分
from xs
where 备注 is null;

MYSQL 思考题5 参考答案

15、 #查询xs表中专业为计算机,性别为女的同学情况

select 学号,姓名,性别,总学分
from xs
where 专业名='计算机' and 性别='女';

MYSQL 思考题5 参考答案

16、#查询xs_kc表中102和206课程中大于80分的同学的记录

select *
from xs_kc
where (课程号=102 or 课程号=206) and 成绩>80;

MYSQL 思考题5 参考答案

17、 #查询表中姓王的学生学号、性别、姓名

select 学号,性别,姓名
from xs
where 姓名 like '王%';

MYSQL 思考题5 参考答案

18、 #查询xs表中学号倒数第2位为0的学生学号、姓名、专业名

select 学号,姓名,专业名
from xs
where 学号 like '%0_';

MYSQL 思考题5 参考答案

19、#查询xs表中名字包括下划线的学生学号和姓名

select 学号,姓名
from xs
where 姓名 like '%#_%' escape '#';

MYSQL 思考题5 参考答案

20、#查询xs表中不在1989年出生的学生情况

select 学号,姓名,性别,出生时间
from xs
where 出生时间 <'1989-1-1' or 出生时间>'1989-12-31';

MYSQL 思考题5 参考答案

21、 #查询xs表中专业名为 计算机 通信工程 的学生情况

select 学号,姓名,性别
from xs
where 专业名='计算机' or 专业名='通信工程';

MYSQL 思考题5 参考答案

22、 #查询xs中总学分尚不定的学生情况

select 学号,姓名,性别
from xs
where 总学分 is null;

MYSQL 思考题5 参考答案

23、 #查找所有学生选过的课程名和课程号

select distinct 课程名,课程号
from xs_kc join kc using(课程号)
where kc.课程号 in (select 课程号 from xs_kc);

MYSQL 思考题5 参考答案

24、 #查找选修了206课程且成绩在80分以上的学生姓名、成绩。

select 姓名,成绩
from xs join xs_kc using (学号)
where 课程号=206 and 成绩>80;

MYSQL 思考题5 参考答案

25、 #查找选修了 计算机基础 课程且成绩在80分以上的学生学号 、姓名、课程名及成绩

select 学号,姓名,课程名,成绩
from kc join xs_kc using (课程号)
join xs using (学号)
where 课程名='计算机基础' and 成绩>80;

MYSQL 思考题5 参考答案

26、 # #查找课程不同、成绩相同的学生的学号、课程号、成绩

select distinct 课程号,学号,成绩
from kc join xs_kc using (课程号)
where 成绩 in (select 成绩 from xs_kc group by 成绩 having count(成绩)>1);

MYSQL 思考题5 参考答案

27、 #查找kc表中所有学生选过的课程名

select distinct 课程名
from kc join xs_kc using (课程号);

MYSQL 思考题5 参考答案

28、 #查找所有学生情况及他们选修的课程号,若学生为选修任何课,也要包括其情况

select  distinct 姓名,专业名,性别,
case
when xs.学号 not in  (select xs_kc.学号 from xs_kc) then null
when xs.学号 in (select xs_kc.学号 from xs_kc) then xs_kc.课程号
end as 课程号
from xs_kc,xs;

MYSQL 思考题5 参考答案

29、 #查找被选修了的课程的选修情况和所有开设的课程名

select distinct 课程名,
case
    when kc.课程号 not in (select 课程号 from xs_kc) then '未被选修'
    when kc.课程号 in (select 课程号 from xs_kc) then '被选修'

end as 是否选修
from kc,xs_kc;

MYSQL 思考题5 参考答案

30、 #查找选修了的课程号为206课程的学生的姓名、学号

select 姓名,学号
from xs_kc join xs using (学号)
where 课程号=206;

MYSQL 思考题5 参考答案

31、#查找未选修离散数学的学生的姓名、学号、专业名

select 学号,姓名,专业名
from xs where 学号 not in
(select 学号 from xs join xs_kc using (学号) join kc using (课程号) where 课程名='离散数学');

MYSQL 思考题5 参考答案

32、#查找选修离了散数学的学生的姓名、学号、专业名

select 姓名,学号,专业名
from xs join xs_kc using (学号) join kc using (课程号)
where 课程名='离散数学';

MYSQL 思考题5 参考答案

33、#查找xs表中比所有计算机系的学生年龄都大的学生的学号、姓名、专业名、出生日期

select 学号,姓名,专业名,出生时间
from xs
where 出生时间< all (select 出生时间 from xs where 专业名='计算机');

MYSQL 思考题5 参考答案

34、 #查找xs_kc表中课程号206的成绩不低于课程号101的最低成绩的学生的学号

select 学号
from xs_kc
where 课程号=206 and 成绩>(select min(成绩) from xs_kc where 课程号=101);

MYSQL 思考题5 参考答案

35、 #查找选修了206号课程的学生姓名

select 姓名
from xs join xs_kc using (学号)
where 课程号=206;

MYSQL 思考题5 参考答案

36、 #将xs中各专业名输出

select distinct 专业名
from xs;

MYSQL 思考题5 参考答案

37、 #求xs中各专业的学生数

select 专业名,count(专业名) as '各专业的学生数'
from xs
group by 专业名;

MYSQL 思考题5 参考答案

38、 #求被选修的各门课程的平均成绩和选修该课程的人数

select count(课程号) as 选修该课程的人数 ,avg(成绩) as 平均成绩
from xs_kc
group by 课程号;

MYSQL 思考题5 参考答案

39、#在xs_kc数据库上产生一个结果集,包括每个专业的男生人数、女生人数、总人数、学生总人数

select 专业名,性别,count(*) as 人数
from xs group by 专业名,性别
with rollup ;

MYSQL 思考题5 参考答案

40、 #查找平均成绩在85分以上的学生的学号和平均成绩

select 学号,avg(成绩) as 平均成绩
from xs_kc
group by 学号
having avg(成绩)>85;

MYSQL 思考题5 参考答案

41、#查找选修课超过2门且成绩都在80分以上的学生的学号

select distinct 学号
from xs_kc
where 成绩>=80
group by 学号 having count(*)>2;

MYSQL 思考题5 参考答案

42、 #将通信工程专业的学生按出生时间先后排序

select 出生时间
from xs
where 专业名='通信工程'
order by 出生时间 asc ;

MYSQL 思考题5 参考答案

43、 #将计算机专业的学生的 “计算机基础” 课程成绩按降序排列

select 成绩
from xs_kc join kc using (课程号)
where 课程名='计算机基础'
order by 成绩 desc ;

MYSQL 思考题5 参考答案

44、 #将计算机专业的学生按其平均成绩排列

select distinct xs_kc.学号,avg(成绩)
from xs_kc,xs
where 专业名='计算机'
group by xs_kc.学号;

MYSQL 思考题5 参考答案

45、 #查找xs表中学号最靠前的5为学生信息

select 学号,姓名,性别
from xs
limit 5;

MYSQL 思考题5 参考答案

46、 #查找xs表中从第4位同学开始的5位学生的信息

select 学号,姓名,性别
from xs
limit 4,5;

MYSQL 思考题5 参考答案

注:上述例题在一心三用中所写,如有错误,烦请指正。

如有更好的解题思路或想法,还请阁下谏言。文章来源地址https://www.toymoban.com/news/detail-440215.html

到了这里,关于MYSQL 思考题5 参考答案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【管理学】作业与思考题

    管理学的研究对象是什么?在企业管理研究基础上抽象出的一般管理理论对其他组织的管理是否也具有指导意义? 管理学的研究对象是人类的管理实践。从广义上来说,管理实践包括对个体活动的 管理和对群体活动的管理。任何个人即使在从事仅与自己相关的目标活动时,也需

    2023年04月08日
    浏览(44)
  • 《统计学》——思考题第七章参数估计(贾俊平)

    目录 1、解释估计量和估计值。 2、简述评价估计量好坏的标准。  3、怎样理解置信区间? 4、解释 95%的置信区间。 5、的含义是什么? 6、解释独立样本和匹配样本的含义。 7、在对两个总体均值之差的小样本估计中,对两个总体和样本都有哪些假定?  8、简述样本量与置信

    2024年02月09日
    浏览(37)
  • Verilog数字系统设计(夏宇闻)—课后思考题记录(上)

    1、什么是信号处理电路?它通常由哪两大部分组成? 数字信号处理电路是进行一些复杂的数字运算和数据处理,并且又有实时响应需求的电路。 它们通常是由高速专用数字逻辑系统或专用数字信号处理器所构成,通常包括高速数据通道接口和高速算法电路。 2、为什么要设

    2023年04月13日
    浏览(82)
  • 《统计学》——思考题第八章假设检验(贾俊平)

    目录 1、假设检验和参数估计有什么相同点和不同点? 2、什么是假设检验中的显著性水平?统计显著是什么意思? 3、什么是假设检验中的两类错误? 4、两类错误之间存在什么样的数量关系? 5、解释假设检验中的 P 值。 6、显著性水平与 P 值有何区别? 7、假设检验依据的

    2024年02月11日
    浏览(41)
  • 统计学_贾俊平——思考题第13章时间序列分析和预测

    时间序列的构成要素分为 4 种,即趋势、季节性、周期性、随机性。 (1)趋势是时间序列在长时期内呈现出来的某种持续向上或持续下降的变动,也称长期趋势; (2)季节性也称季节变动,它是时间序列在一年内重复出现的周期性波动; (3)周期性也称循环波动,它是时

    2024年02月09日
    浏览(39)
  • MySQL数据库期末考试试题及参考答案(01)

    本文原创作者:谷哥的小弟 作者博客地址:http://blog.csdn.net/lfdfhl ___在20世纪80年代被美国国家标准学会和国际标准化组织定义为关系型数据库语言的标准。 数据模型所描述的内容包括3个部分,分别是数据结构、数据操作、___。 概念数据模型中实体与实体之间的联系,有___、

    2024年02月05日
    浏览(42)
  • MySQL数据库期末考试试题及参考答案(06)

    本文原创作者:谷哥的小弟 作者博客地址:http://blog.csdn.net/lfdfhl 普通索引使用KEY或____定义。 在MySQL中,DROP VIEW语句用于____。 MySQL中常见的索引大致分为普通索引、 ____ 、 ____ 、全文索引、空间索引。 只有在查询条件中使用了复合索引中的____字段时,该复合索引才会被使用

    2024年02月08日
    浏览(49)
  • MySQL数据库期末考试试题及参考答案(05)

    本文原创作者:谷哥的小弟 作者博客地址:http://blog.csdn.net/lfdfhl 交叉连接查询返回的结果是被连接的两张数据表中所有数据行的____ 。 左连接查询的结果包括LEFT JOIN子句中左表的____,以及右表中满足连接条件的记录。 内连接查询的语法中,ON用于指定查询的____。 被外键引

    2024年02月05日
    浏览(95)
  • MySQL数据库期末考试试题及参考答案(02)

    本文原创作者:谷哥的小弟 作者博客地址:http://blog.csdn.net/lfdfhl 创建数据库时,语句中添加____可以防止数据库已存在而引发的程序报错。 如果使用非图形化工具操作数据表,操作之前应该先使用____命令指定操作是在哪个数据库中进行。 在MySQL中,小数的表示分为____和定点

    2024年02月11日
    浏览(46)
  • MySQL数据库期末考试试题及参考答案(08)

    本文原创作者:谷哥的小弟 作者博客地址:http://blog.csdn.net/lfdfhl MySQL用户变量由符号____和变量名组成。 MySQL中____循环语句会无条件执行一次语句列表。 DELIMITER语句可以设置MySQL的____。 MySQL中打开游标使用____。 存储过程的过程体以____表示过程体的开始,以____表示过

    2024年02月11日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包