相关推荐recommended
【头歌系统数据库实验】实验4 MySQL单表查询
作者:mmseoamin日期:2024-04-01

目录

第1关. 在users表中新增一个用户,user_id为2019100904学号,name为'2019-物联网-李明'

第2关. 在users表中更新用户 user_id为robot_2 的信息,name设为 '机器人二号' 

第3关. 将solution表中所有 problem_id 为1003 题目的解答结果(result)设为 6

第4关:删除solution表中比赛contest_id 为1001的全部解答 

 第5关:查询所有 contest 的 title 和 end_time

第6关. 查询哪些选手的 user_id 提交过 solution,要求结果中 user_id 不重复 

 第7关:查询 end_time 晚于 '2020-11-21 17:30:00' 的 contest_id

第8关:查询 problem_id 在 1005~1009 之间的 problem 的 title

第9关:查询 language 不在 0、1、3 中的 solution 的 code_length

第10关:查询2018级选手信息(user_id 为学号的用户前4位为年级)

第11关:查询'生医'专业选手信息(name 中有 '生医' 的选手)

第12关:查询不属于任何比赛的solution的 solution_id 和 in_date(contest_id为NULL)

第13关:查询 result 为 6 且 problem_id大于1010 的 solution_id与language

第14关:查询提交过solution的选手人数 

第15关:查询耗内存(memory)最多的solution的内存消耗大小与 solution_id

第16关:查询每个题目的提交数 

第17关:查询提交数大于20的题目的题号

第18关:查找所有problem_id 为1001 的解答或contest_id 为空的解答 


如果你认为对你有帮助的话,不妨点赞收藏评论一下吧,爱你么么哒😘❤️❤️❤️

第1关. 在users表中新增一个用户,user_id为2019100904学号,name为'2019-物联网-李明'

任务描述

在users表中新增一个用户,user_id为2019100904学号,name为'2019-物联网-李明'

相关知识

users为选手信息表; users表如下图(仅显示前几条):

【头歌系统数据库实验】实验4 MySQL单表查询,,,第1张

现已构建users表,结构信息如下:

【头歌系统数据库实验】实验4 MySQL单表查询,,,第2张


开始你的任务吧,祝你成功

USE `sqlexp-sztuoj`;
#请在此处添加实现代码
########## Begin ##########
INSERT
INTO users(user_id,name)
VALUES ('2019100904','2019-物联网-李明');
########## End ##########
#以下代码禁止删除
SELECT * FROM users WHERE users.user_id = '2019100904';

第2关. 在users表中更新用户 user_id为robot_2 的信息,name设为 '机器人二号' 

任务描述

在users表中更新用户 user_id为robot_2 的信息,name设为 '机器人二号'

相关知识

users为选手信息表; users表如下图(仅显示前几条):

【头歌系统数据库实验】实验4 MySQL单表查询,,,第1张

现已构建users表,结构信息如下:

【头歌系统数据库实验】实验4 MySQL单表查询,,,第2张


开始你的任务吧,祝你成功!

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

任务描述

将solution表中所有 problem_id 为1003 题目的解答结果(result)设为 6

相关知识

solution:选手提交的题目解答 solution表如下图(仅显示前几条):

【头歌系统数据库实验】实验4 MySQL单表查询,,,第5张

现已构建solution表,结构信息如下:

【头歌系统数据库实验】实验4 MySQL单表查询,,,第6张


开始你的任务吧,祝你成功!

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的全部解答 

任务描述

删除solution表中比赛contest_id 为1001的全部解答

相关知识

solution:选手提交的题目解答 solution表如下图(仅显示前几条):

【头歌系统数据库实验】实验4 MySQL单表查询,,,第5张

现已构建solution表,结构信息如下:

【头歌系统数据库实验】实验4 MySQL单表查询,,,第6张


开始你的任务吧,祝你成功!

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

任务描述

查询所有 contest 的 title 和 end_time。

相关知识

contest为比赛信息表; contest表如下图(仅显示前几条):

【头歌系统数据库实验】实验4 MySQL单表查询,,,第9张

现已构建contest表,结构信息如下:

【头歌系统数据库实验】实验4 MySQL单表查询,,,第10张


开始你的任务吧,祝你成功!

USE `sqlexp-sztuoj`;
#请在此处添加实现代码
########## Begin ##########
SELECT title,end_time
FROM contest;
########## End ##########

第6关. 查询哪些选手的 user_id 提交过 solution,要求结果中 user_id 不重复 

任务描述

查询哪些选手的 user_id 提交过 solution,要求结果中 user_id 不重复

相关知识

solution选手提交的题目解答。 solution表如下图(仅显示前几条):

【头歌系统数据库实验】实验4 MySQL单表查询,,,第5张

现已构建solution表,结构信息如下:

【头歌系统数据库实验】实验4 MySQL单表查询,,,第6张


开始你的任务吧,祝你成功!

USE `sqlexp-sztuoj`;
#请在此处添加实现代码
########## Begin ##########
select distinct user_id
from solution;
########## End ##########

 第7关:查询 end_time 晚于 '2020-11-21 17:30:00' 的 contest_id

任务描述

查询 end_time 晚于 '2020-11-21 17:30:00' 的 contest_id

相关知识

contest为比赛信息表; contest表如下图(仅显示前几条):

【头歌系统数据库实验】实验4 MySQL单表查询,,,第9张

现已构建contest表,结构信息如下:

【头歌系统数据库实验】实验4 MySQL单表查询,,,第10张


开始你的任务吧,祝你成功!

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

任务描述

查询 problem_id 在 1005~1009 之间的 problem 的 title

相关知识

problem为题目表; problem表如下图(仅显示前几条):

【头歌系统数据库实验】实验4 MySQL单表查询,,,第15张

现已构建problem表,结构信息如下:

【头歌系统数据库实验】实验4 MySQL单表查询,,,第16张


开始你的任务吧,祝你成功!

USE `sqlexp-sztuoj`;
#请在此处添加实现代码
########## Begin ##########
select title
from problem
where problem_id between 1005 and 1009;
########## End ##########

第9关:查询 language 不在 0、1、3 中的 solution 的 code_length

任务描述

查询 language 不在 0、1、3 中的 solution 的 code_length

相关知识

solution:选手提交的题目解答 solution表如下图(仅显示前几条):

【头歌系统数据库实验】实验4 MySQL单表查询,,,第5张

现已构建solution表,结构信息如下:

【头歌系统数据库实验】实验4 MySQL单表查询,,,第6张


开始你的任务吧,祝你成功!

USE `sqlexp-sztuoj`;
#请在此处添加实现代码
########## Begin ##########
select code_length
from solution
where language not in('0','1','3');
########## End ##########

第10关:查询2018级选手信息(user_id 为学号的用户前4位为年级)

任务描述

查询2018级选手信息(user_id 为学号的用户前4位为年级)

相关知识

users为选手信息表; users表如下图(仅显示前几条):

【头歌系统数据库实验】实验4 MySQL单表查询,,,第1张

现已构建users表,结构信息如下:

【头歌系统数据库实验】实验4 MySQL单表查询,,,第2张


开始你的任务吧,祝你成功!

USE `sqlexp-sztuoj`;
#请在此处添加实现代码
########## Begin ##########
select*
from users
where user_id between 20180000000 and 20190000000;
########## End ##########

第11关:查询'生医'专业选手信息(name 中有 '生医' 的选手)

任务描述

查询'生医'专业选手信息(name 中有 '生医' 的选手)

相关知识

users为选手信息表; users表如下图(仅显示前几条):

【头歌系统数据库实验】实验4 MySQL单表查询,,,第1张

现已构建users表,结构信息如下:

【头歌系统数据库实验】实验4 MySQL单表查询,,,第2张


开始你的任务吧,祝你成功!

USE `sqlexp-sztuoj`;
#请在此处添加实现代码
########## Begin ##########
select*
from users
where name like '%生医%';
########## End ##########

第12关:查询不属于任何比赛的solution的 solution_id 和 in_date(contest_id为NULL)

任务描述

查询不属于任何比赛的solution的 solution_id 和 in_date(contest_id 为 NULL)

相关知识

solution:选手提交的题目解答 solution表如下图(仅显示前几条):

【头歌系统数据库实验】实验4 MySQL单表查询,,,第5张

现已构建solution表,结构信息如下:

【头歌系统数据库实验】实验4 MySQL单表查询,,,第6张


开始你的任务吧,祝你成功!

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

任务描述

查询 result 为 6 且 problem_id大于1010 的 solution_id与language

相关知识

solution:选手提交的题目解答 solution表如下图(仅显示前几条):

【头歌系统数据库实验】实验4 MySQL单表查询,,,第5张

现已构建solution表,结构信息如下:

【头歌系统数据库实验】实验4 MySQL单表查询,,,第6张


开始你的任务吧,祝你成功!

USE `sqlexp-sztuoj`;
#请在此处添加实现代码
########## Begin ##########
select solution_id,language
from solution
where result=6 and problem_id>1010;
########## End ##########

第14关:查询提交过solution的选手人数 

任务描述

查询提交过solution的选手人数

相关知识

solution:选手提交的题目解答 solution表如下图(仅显示前几条):

【头歌系统数据库实验】实验4 MySQL单表查询,,,第5张

现已构建solution表,结构信息如下:

【头歌系统数据库实验】实验4 MySQL单表查询,,,第6张


开始你的任务吧,祝你成功!

USE `sqlexp-sztuoj`;
#请在此处添加实现代码
########## Begin ##########
select COUNT(DISTINCT user_id)
from solution;
########## End ##########

第15关:查询耗内存(memory)最多的solution的内存消耗大小与 solution_id

任务描述

查询耗内存(memory)最多的solution的内存消耗大小与 solution_id

相关知识

solution:选手提交的题目解答 solution表如下图(仅显示前几条):

【头歌系统数据库实验】实验4 MySQL单表查询,,,第5张

现已构建solution表,结构信息如下:

【头歌系统数据库实验】实验4 MySQL单表查询,,,第6张


开始你的任务吧,祝你成功!

USE `sqlexp-sztuoj`;
#请在此处添加实现代码
########## Begin ##########
SELECT memory,solution_id
FROM solution
WHERE memory in(
    SELECT MAX(memory)
    FROM solution
);
########## End ##########

第16关:查询每个题目的提交数 

任务描述

查询每个题目的提交数

相关知识

solution:选手提交的题目解答 solution表如下图(仅显示前几条):

【头歌系统数据库实验】实验4 MySQL单表查询,,,第5张

现已构建solution表,结构信息如下:

【头歌系统数据库实验】实验4 MySQL单表查询,,,第6张


开始你的任务吧,祝你成功!

USE `sqlexp-sztuoj`;
#请在此处添加实现代码
########## Begin ##########
SELECT problem_id,COUNT(problem_id)
from solution
group by problem_id;
########## End ##########

第17关:查询提交数大于20的题目的题号

任务描述

查询提交数大于20的题目的题号

相关知识

solution:选手提交的题目解答 solution表如下图(仅显示前几条):

【头歌系统数据库实验】实验4 MySQL单表查询,,,第5张

现已构建solution表,结构信息如下:

【头歌系统数据库实验】实验4 MySQL单表查询,,,第6张


开始你的任务吧,祝你成功!

USE `sqlexp-sztuoj`;
#请在此处添加实现代码
########## Begin ##########
select problem_id
from solution 
group by problem_id
having count(*)>20;
########## End ##########

第18关:查找所有problem_id 为1001 的解答或contest_id 为空的解答 

任务描述

查找所有problem_id 为1001 的解答或 contest_id 为空的解答

相关知识

solution:选手提交的题目解答 solution表如下图(仅显示前几条):

【头歌系统数据库实验】实验4 MySQL单表查询,,,第5张

现已构建solution表,结构信息如下:

【头歌系统数据库实验】实验4 MySQL单表查询,,,第6张


开始你的任务吧,祝你成功!

USE `sqlexp-sztuoj`;
#请在此处添加实现代码
########## Begin ##########
select *
from solution
where problem_id=1001 or contest_id is null;
########## End ##########