【头歌系统数据库实验】实验6 SQL的多表查询-2

news2025/1/23 10:27:45

目录

第1关:查询每个选手的信息及其提交的解答信息,没做题的选手不显示

第2关:查询做了1001题且耗时大于500(time)的选手信息

第3关:查询所有选手信息及其提交的解答信息,没做题的选手也要显示

第4关:查询每个选手的信息、交的题目、和提交的结果,没做题的选手不显示

第5关:用嵌套查询查找和problem_id为 1026 的题目属于同一个比赛的题目信息

第6关:用连接查询查找和problem_id为 1026 的题目属于同一个比赛的题目信息

第7关:用 EXISTS 实现查询做了 1032 号题的选手信息

第8关:用NOT EXISTS实现查询没做 1032 号题的选手信息

第9关:用 EXISTS 实现查询和problem_id为 1026 的题目属于同一个比赛的题目信息

第10关:用 NOT EXISTS 实现查询参与过所有比赛的选手信息


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

第1关:查询每个选手的信息及其提交的解答信息,没做题的选手不显示

任务描述

查询每个选手的信息及其提交的解答信息,没做题的选手不显示 (查询结果仅显示前50条,即在查询语句末尾加LIMIT 50)

相关知识

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

,

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

,

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

,

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

,


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

USE `sqlexp-sztuoj`;
#请在此处添加实现代码,在语句末尾加LIMIT 50,即可显示查询结果前50条。
########## Begin ##########
select *
from users,solution
where users.user_id=solution.user_id
LIMIT 50;
########## End ##########

第2关:查询做了1001题且耗时大于500(time)的选手信息

任务描述

查询做了1001题且耗时大于500(time)的选手信息

相关知识

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

,

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

,

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

,

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

,


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

USE `sqlexp-sztuoj`;
#请在此处添加实现代码
########## Begin ##########
select DISTINCT users.user_id,reg_time,name
from users,solution
where users.user_id=solution.user_id
and solution.problem_id=1001
and solution.time>500;

########## End ##########

第3关:查询所有选手信息及其提交的解答信息,没做题的选手也要显示

任务描述

查询所有选手信息及其提交的解答信息,没做题的选手也要显示 (查询结果仅显示前50条,即在查询语句末尾加LIMIT 50)

相关知识

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

,

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

,

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

,

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

,


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

USE `sqlexp-sztuoj`;
#请在此处添加实现代码,在语句末尾加LIMIT 50,即可显示查询结果前50条。
########## Begin ##########
select *
from users left join solution on users.user_id=solution.user_id
LIMIT 50;

########## End ##########

第4关:查询每个选手的信息、交的题目、和提交的结果,没做题的选手不显示

任务描述

查询每个选手的信息、交的题目、和提交的结果,没做题的选手不显示 (查询结果仅显示前50条,即在查询语句末尾加LIMIT 50)

相关知识

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

,

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

,

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

,

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

,


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

USE `sqlexp-sztuoj`;
#请在此处添加实现代码,在语句末尾加LIMIT 50,即可显示查询结果前50条。
########## Begin ##########
select users.user_id,reg_time,name,solution.problem_id,result
from users,solution
where users.user_id=solution.user_id
LIMIT 50;
########## End ##########

第5关:用嵌套查询查找和problem_id为 1026 的题目属于同一个比赛的题目信息

任务描述

用嵌套查询查找和problem_id为 1026 的题目属于同一个比赛的题目信息,结果按problem_id升序排序。

相关知识

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

,

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

,

2、contest_problem为比赛-题目关系; contest_problem表如下图(仅显示前几条):

,

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

,


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

USE `sqlexp-sztuoj`;
#请在此处添加实现代码
########## Begin ##########
select *
from problem
where problem_id in 
(
    select problem_id
    from contest_problem
    where contest_id in(
        select contest_id
        from contest_problem
        where problem_id=1026
    )
)
ORDER BY problem_id ASC;


########## End ##########

第6关:用连接查询查找和problem_id为 1026 的题目属于同一个比赛的题目信息

任务描述

用连接查询查找和problem_id为 1026 的题目属于同一个比赛的题目信息,结果按problem_id升序排序。

相关知识

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

,

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

,

2、contest_problem为比赛-题目关系; contest_problem表如下图(仅显示前几条):

,

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

,


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

USE `sqlexp-sztuoj`;
#请在此处添加实现代码
########## Begin ##########

SELECT DISTINCT problem.problem_id,title,description,hint,time_limit,memory_limit 
FROM problem,contest_problem A,contest_problem B
WHERE A.problem_id = 1026 AND A.contest_id = B.contest_id AND problem.problem_id = B.problem_id
ORDER BY B.problem_id ASC;

########## End ##########

第7关:用 EXISTS 实现查询做了 1032 号题的选手信息

任务描述

用 EXISTS 实现查询做了 1032 号题的选手信息

相关知识

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

,

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

,

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

,

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

,


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

USE `sqlexp-sztuoj`;
#请在此处添加实现代码
########## Begin ##########

SELECT DISTINCT users.*
FROM users
WHERE EXISTS (
    SELECT *
    FROM solution
    WHERE users.user_id=solution.user_id
    AND problem_id=1032
);

########## End ##########

第8关:用NOT EXISTS实现查询没做 1032 号题的选手信息

任务描述

用NOT EXISTS实现查询没做 1032 号题的选手信息

相关知识

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

,

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

,

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

,

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

,


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

USE `sqlexp-sztuoj`;
#请在此处添加实现代码
########## Begin #
SELECT users.*
FROM users
WHERE NOT EXISTS (
    SELECT *
    FROM solution
    WHERE users.user_id=solution.user_id
    AND problem_id=1032
);

########## End ##########

第9关:用 EXISTS 实现查询和problem_id为 1026 的题目属于同一个比赛的题目信息

任务描述

用 EXISTS 实现查询和problem_id为 1026 的题目属于同一个比赛的题目信息,结果按problem_id升序排序。

相关知识

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

,

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

,

2、contest_problem为比赛-题目关系; contest_problem表如下图(仅显示前几条):

,

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

,


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

USE `sqlexp-sztuoj`;
#请在此处添加实现代码
########## Begin ##########

SELECT * 
FROM problem 
WHERE EXISTS(
    SELECT * 
    FROM contest_problem A, contest_problem B
    WHERE A.problem_id = 1026 
    AND A.contest_id = B.contest_id 
    AND problem.problem_id = B.problem_id
)

########## End ##########

第10关:用 NOT EXISTS 实现查询参与过所有比赛的选手信息

任务描述

用 NOT EXISTS 实现查询参与过所有比赛的选手信息

相关知识

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

,

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

,

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

,

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

,

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

,

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

,


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

USE `sqlexp-sztuoj`;
#请在此处添加实现代码
########## Begin ##########
#没有一场比赛没有提交过题目
select *
from users
WHERE NOT EXISTS(
    select *
    #参加过一次比赛
    from contest
    WHERE NOT EXISTS(
        select *
        #提交过一道题目
        from solution     
        where user_id=users.user_id 
        AND contest_id = contest.contest_id
    )
)


########## End ##########

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1289873.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机操作系统3

1.虚拟机 VM 两类虚拟机的对比: 2.进程 进程的特征: 进程状态的转换(五大状态) 3.进程控制原语的作用 4.线程 ​​​​​线程的属性 实现方式 5.调度算法的评价指标

2024年程序员面对经济下行的解决方式竟然是……

近些年大环境不好,经济下行的压力给到了我们每一个普通人的身上:降薪是潮流,裁员是趋势,找不到工作是常态。 在这样的环境下,我们曾一天三份工,只为家人温饱; 我们也曾一周七天连轴转&#xf…

GPU简介

1. GPU简介 GPU,即图形处理器(Graphics Processing Unit),是一种专门设计用于图形渲染和图像处理的处理器。与传统的中央处理器(CPU)相比,GPU具有更强大的并行处理能力。 显卡作为电脑主机里的…

Linux学习——模拟实现mybash小程序

目录 一,跟正宗的bash见个面 二,实现一个山寨的bash 1.提示符 2.输入命令与回显命令 3.解析命令 4.执行命令 5.执行逻辑 三,全部代码 一,跟正宗的bash见个面 在这篇文章中,我会写一个myshell小程序。这个小程序…

问卷调查须避免的错误要点(02):避免逻辑错误与提升数据质量

在上篇文章中,我们讲到了4点在打造客户满意度调查中常犯的4个错误:提问偏颇或模糊不清、提问过多开放性问题、合并不同问题、合并不同问题。而在今天这篇文章中,我们将继续探讨做问卷调查要避免的其他错误要点。如果您也有这方面的需求&#…

大话数据结构-查找-线性索引查找

注:本文同步发布于稀土掘金。 4 线性索引查找 4.1 概述 索引就是把一个关键字与它对应的记录相关联的过程,一个索引由若干个索引项构成,每个索引项至少应包含关键字和其对应的记录在存储器中的位置等信息。 索引按照结构可分为线性索引、树…

Python Opencv实践 - 简单的AR项目

这个简单的AR项目效果是,通过给定一张静态图片作为要视频中要替换的目标物品,当在视频中检测到图片中的物体时,通过单应矩阵做投影,将视频中的物体替换成一段视频播放。这个项目的所有素材来自自己的手机拍的视频。 静态图片&…

力扣每日一题:2646. 最小化旅行的价格总和(2023-12-06)

力扣每日一题 题目:2646. 最小化旅行的价格总和 日期:2023-12-06 用时:30 m 14 s 时间:8ms 内存:42.98MB 思路:先统计旅行中每个节点路过的次数(dfs方法),再计算减半后的…

智能优化算法应用:基于龙格-库塔算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于龙格-库塔算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于龙格-库塔算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.龙格-库塔算法4.实验参数设定5.算法结果6.参…

一个最新国内可用的免费GPT4,Midjourney绘画网站+使用教程

一、前言 ChatGPT GPT4.0,Midjourney绘画,相信对大家应该不感到陌生吧?简单来说,GPT-4技术比之前的GPT-3.5相对来说更加智能,会根据用户的要求生成多种内容甚至也可以和用户进行创作交流。 然而,GPT-4对普…

内核无锁队列kfifo

文章目录 1、抛砖引玉2、内核无锁队列kfifo2.1 kfifo结构2.2 kfifo分配内存2.3 kfifo初始化2.4 kfifo释放2.5 kfifo入队列2.6 kfifo出队列2.7 kfifo的判空和判满2.8 关于内存屏障 1、抛砖引玉 昨天遇到这样一个问题,有多个生产者,多个消费者&#xff0c…

❀My学习Linux命令小记录(14)❀

目录 ❀My学习Linux命令小记录(14)❀ 56.man指令 57.whatis指令 58.info指令 59.--help指令 60.uname指令 ❀My学习Linux命令小记录(14)❀ 56.man指令 功能说明:查看Linux中的指令帮助。 (ps.man命…

一网打尽损失函数和正则化的关系,在损失函数中加入正则化有什么用,如何加入,这里为大家用通俗易懂的例子进行详细解释!(系列1)

文章目录 一、BP神经网络预测中,常见的损失函数是均方误差损失函数MSE二、L2正则化的公式如下:三、 结合MSE和L2正则化的总损失函数公式如下:总结 一、BP神经网络预测中,常见的损失函数是均方误差损失函数MSE 在BP神经网络预测中…

ArcGIS Enterprise on Kubernetes 11.1安装示例

博客主页:https://tomcat.blog.csdn.net 博主昵称:农民工老王 主要领域:Java、Linux、K8S 期待大家的关注💖点赞👍收藏⭐留言💬 目录 安装前置条件基本安装解压文件生成秘钥执行安装脚本 配置DNS方法一方法…

基于jsp+servlet+mybatis的简易在线选课系统

一.数据库 根据实训题目中给出的表间关系图、数据表结构设计、数据说明等等信息,可创建数据库如下: 1.数据库和表的创建 CREATE DATABASE xuanke; -- 创建用户表 CREATE TABLE USER (username VARCHAR(20) PRIMARY KEY NOT NULL,PASSWORD VARCHAR(20)…

【Python】Python读Excel文件生成xml文件

目录 ​前言 正文 1.Python基础学习 2.Python读取Excel表格 2.1安装xlrd模块 2.2使用介绍 2.2.1常用单元格中的数据类型 2.2.2 导入模块 2.2.3打开Excel文件读取数据 2.2.4常用函数 2.2.5代码测试 2.2.6 Python操作Excel官方网址 3.Python创建xml文件 3.1 xml语法…

[实践总结] Java中读取properties配置文件

读取此key.properties文件 代码实现 import java.io.IOException; import java.io.InputStream; import java.util.Properties;public class PropertyUtils {private static final Properties properties new Properties();static {try (InputStream resourceAsStream Prope…

大数据Hadoop-HDFS_架构、读写流程

大数据Hadoop-HDFS 基本系统架构 HDFS架构包含三个部分:NameNode,DataNode,Client。 NameNode:NameNode用于存储、生成文件系统的元数据。运行一个实例。 DataNode:DataNode用于存储实际的数据,将自己管理…

Java LeetCode篇-深入了解二叉树经典解法(三种方式实现:获取二叉树的最大深度)

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 对称二叉树 1.1 判断对称二叉树实现思路 1.2 代码实现:判断对称二叉树 2.0 二叉树的最大深度 2.1 使用递归实现获取二叉树的最大深度思路 2.2 代码实…

Docker-多容器应用

一、概述 到目前为止,你一直在使用单个容器应用。但是,现在您将 MySQL 添加到 应用程序堆栈。经常会出现以下问题 - “MySQL将在哪里运行?将其安装在同一个 容器还是单独运行?一般来说,每个容器都应该做一件事&#x…