实验4 MySQL单表查询

1-在users表中新增一个用户,user_id为2019100904学号,name为'2019-物联网-李明'-101544629
USE `sqlexp-sztuoj`;
#请在此处添加实现代码
########## Begin ##########
insert into users(user_id, name)
value(2019100904,'2019-物联网-李明');

########## End ##########
#以下代码禁止删除
SELECT * FROM users WHERE users.user_id = '2019100904';
2-在users表中更新用户 user_id为robot_2 的信息,name设为 '机器人二号'-101544630
USE `sqlexp-sztuoj`;
#请在此处添加实现代码
########## Begin ##########
update users
set name='机器人二号'
where user_id='robot_2';

########## End ##########
#以下代码禁止删除
SELECT * FROM users WHERE users.user_id = 'robot_2';
3-将solution表中所有 problem_id 为1003 题目的解答结果(result)设为 6-101544631
USE `sqlexp-sztuoj`;
#请在此处添加实现代码
########## Begin ##########
update solution
set result=6
where problem_id=1003;

########## End ##########
#以下代码禁止删除
SELECT * FROM solution WHERE solution.problem_id = 1003;
4-删除solution表中比赛contest_id 为1001的全部解答-101544632
USE `sqlexp-sztuoj`;
#请在此处添加实现代码
########## Begin ##########
delete from solution where contest_id=1001;

########## End ##########
#以下代码禁止删除
SELECT * FROM solution WHERE solution.contest_id = 1001;
5-查询所有 contest 的 title 和 end_time-101544633
USE `sqlexp-sztuoj`;
#请在此处添加实现代码
########## Begin ##########
select title, end_time from contest;

########## End ##########
6-查询哪些选手的 user_id 提交过 solution,要求结果中 user_id 不重复-101544634
USE `sqlexp-sztuoj`;
#请在此处添加实现代码
########## Begin ##########
select distinct user_id from solution;

########## End ##########
7-查询 end_time 晚于 '2020-11-21 17_30_00' 的 contest_id-101544635
USE `sqlexp-sztuoj`;
#请在此处添加实现代码
########## Begin ##########
select contest_id from contest where end_time>'2020-11-21 17:30:00';

########## End ##########
8-查询 problem_id 在 1005~1009 之间的 problem 的 title-101544636
USE `sqlexp-sztuoj`;
#请在此处添加实现代码
########## Begin ##########
select title from problem where problem_id between 1005 and 1009;

########## End ##########
9-查询 language 不在 013 中的 solution 的 code_length-101544637
USE `sqlexp-sztuoj`;
#请在此处添加实现代码
########## Begin ##########
select code_length from solution where language not in (0,1,3);

########## End ##########
10-查询2018级选手信息(user_id 为学号的用户前4位为年级)-101544638
USE `sqlexp-sztuoj`;
#请在此处添加实现代码
########## Begin ##########
select * from users where user_id like "2018%";

########## End ##########
11-查询'生医'专业选手信息(name 中有 '生医' 的选手)-101544639
USE `sqlexp-sztuoj`;
#请在此处添加实现代码
########## Begin ##########
select * from users where name like "%生医%";

########## End ##########
12-查询不属于任何比赛的solution的 solution_id 和 in_date(contest_id 为 NULL-101544640
USE `sqlexp-sztuoj`;
#请在此处添加实现代码
########## Begin ##########
select solution_id,in_date from solution where contest_id is NULL;

########## End ##########
13-查询 result 为 6 且 problem_id大于1010 的 solution_id与language-101544641
USE `sqlexp-sztuoj`;
#请在此处添加实现代码
########## Begin ##########
select solution_id,language from solution where result = 6 and problem_id>1010;

########## End ##########
14-查询提交过solution的选手人数-101544642
USE `sqlexp-sztuoj`;
#请在此处添加实现代码
########## Begin ##########
select COUNT(DISTINCT user_id) from solution;

########## End ##########
15-查询耗内存(memory)最多的solution的内存消耗大小与 solution_id-101544643
USE `sqlexp-sztuoj`;
#请在此处添加实现代码
########## Begin ##########
select memory,solution_id from solution where memory = (select max(memory) from solution);

########## End ##########
16-查询每个题目的提交数-101544644
USE `sqlexp-sztuoj`;
#请在此处添加实现代码
########## Begin ##########
select problem_id,COUNT(problem_id) from solution group by problem_id;

########## End ##########
17-查询提交数大于20的题目的题号-101544645
USE `sqlexp-sztuoj`;
#请在此处添加实现代码
########## Begin ##########
select problem_id from solution 
group by problem_id having count(problem_id)>20;

########## End ##########
18-查找所有problem_id 为1001 的解答或contest_id 为空的解答-101544646
USE `sqlexp-sztuoj`;
#请在此处添加实现代码
########## Begin ##########
select * from solution where problem_id=1001 or contest_id is null;

########## End ##########
  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值