【头歌系统数据库实验】实验7 SQL的复杂多表查询-1

news2024/9/29 15:20:38

目录

第1关:求各颜色零件的平均重量

第2关:求北京和天津供应商的总个数

第3关:求各供应商供应的零件总数

第4关:求各供应商供应给各工程的零件总数

第5关:求重量大于所有零件平均重量的零件名称

第6关:查询供应了1000个以上零件的供应商名称

第7关:统计P表中颜色为蓝色的零件个数,并指定该查询列的名称为“蓝色零件数”

第8关:查询P表中各零件的编号,名称及重量按85%计算后的信息,其中重量按85%计算后的查询列名改为“零件净重”

第9关:查询 S表STATUS值大于20且小于50,或SNAME字段值的第一个字为“精”或第三个字为”益”或“民”的供应

第10关:将SPJ表按QTY值降序排列,再找出SPJ表中前6条记录(用limit 6)

第11关:找出供应零件总数量不低于1000的供应商号码,及每个供应商供应的总数量,并且结果按总数量降序排列

第12关:找出工程项目J1使用的各种零件的名称及其数量

第13关:求使用了300个及以上P1零件的工程名称

第14关:求各工程(名)使用的各城市供应的零件总数

第15关:用嵌套查询这样的工程:供给该工程的零件P3的平均供应量,大于其中一种供给工程J1的零件的最大供应量

第16关:用链接查询这样的工程:供给该工程的零件P3的平均供应量,大于其中一种供给工程J1的零件的最大供应量

第17关:查询这样的工程号:供应该工程零件P3的平均供应量不小于工程J1使用各零件合计数量的最小值


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

第1关:求各颜色零件的平均重量

任务描述

求各颜色零件的平均重量

相关知识

零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成; P表如下图:

,

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

,


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

USE mydata;
#请在此处添加实现代码
########## Begin ##########
select COLOR, AVG(WEIGHT)
from P
GROUP BY COLOR;


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

第2关:求北京和天津供应商的总个数

任务描述

求北京和天津供应商的总个数

相关知识

供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成. S表如下图:

,

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

,


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

USE mydata;
#请在此处添加实现代码
########## Begin ##########
select CITY,COUNT(*)
FROM S 
where CITY in('北京','天津')
GROUP BY CITY;


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

第3关:求各供应商供应的零件总数

任务描述

求各供应商供应的零件总数(SUM_QTY),结果按SUM_QTY降序排序。

相关知识

供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,标识某供应商 供应某种零件 给某工程项目的数量为QTY。 SPJ表如下图:

,

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

,


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

USE mydata;
#请在此处添加实现代码
########## Begin ##########
select SNO,SUM(QTY) SUM_QTY
FROM SPJ
GROUP BY SNO
ORDER BY SUM_QTY DESC;

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

第4关:求各供应商供应给各工程的零件总数

任务描述

求各供应商供应给各工程的零件总数(SUM_QTY),结果先按供应商代码(SNO)降序排序,再按工程项目代码(JNO)降序排序。

相关知识

供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,标识某供应商 供应某种零件 给某工程项目的数量为QTY。 SPJ表如下图:

,

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

,


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

USE mydata;
#请在此处添加实现代码
########## Begin ##########
SELECT SNO, JNO, SUM(QTY) SUM_QTY
FROM SPJ
GROUP BY SNO,JNO
ORDER BY SNO DESC , JNO DESC;

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

第5关:求重量大于所有零件平均重量的零件名称

任务描述

求重量大于所有零件平均重量的零件名称

相关知识

零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成; P表如下图:

,

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

,


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

USE mydata;
#请在此处添加实现代码
########## Begin ##########

SELECT PNAME 
FROM P 
WHERE (
    SELECT AVG(WEIGHT) 
    FROM P 
    HAVING WEIGHT > AVG(WEIGHT)
);

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

第6关:查询供应了1000个以上零件的供应商名称

任务描述

查询供应了1000个以上零件的供应商名称,查询结果按供应商名称降序排序。

相关知识

1、供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成. S表如下图:

,

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

,

2、供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,标识某供应商 供应某种零件 给某工程项目的数量为QTY。 SPJ表如下图:

,

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

,


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

USE mydata;
#请在此处添加实现代码
########## Begin ##########
SELECT SNAME 
FROM S JOIN SPJ s2 on S.SNO = s2.SNO 
GROUP BY s2.SNO, S.SNAME 
HAVING SUM(s2.QTY) > 1000 
ORDER BY S.SNAME DESC ;

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

第7关:统计P表中颜色为蓝色的零件个数,并指定该查询列的名称为“蓝色零件数”

任务描述

统计P表中颜色为蓝色的零件个数,并指定该查询列的名称为“蓝色零件数”

相关知识

零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成; P表如下图:

,

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

,


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

USE mydata;
#请在此处添加实现代码
########## Begin ##########
select count(pno) as '蓝色零件数' 
from P 
where COLOR = '蓝';

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

第8关:查询P表中各零件的编号,名称及重量按85%计算后的信息,其中重量按85%计算后的查询列名改为“零件净重”

任务描述

查询P表中各零件的编号,名称及重量按85%计算后的信息,其中重量按85%计算后的查询列名改为“零件净重”

相关知识

零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成; P表如下图:

,

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

,


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

USE mydata;
#请在此处添加实现代码
########## Begin ##########

select PNO, PNAME, WEIGHT * 0.85 
as '零件净重' 
from P;

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

第9关:查询 S表STATUS值大于20且小于50,或SNAME字段值的第一个字为“精”或第三个字为”益”或“民”的供应

任务描述

查询 S表STATUS值大于20且小于50,或SNAME字段值的第一个字为“精”或第三个字为“益”或“民”的供应商信息

相关知识

供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成. S表如下图:

,

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

,


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

USE mydata;
#请在此处添加实现代码
########## Begin ##########

select SNO, SNAME, STATUS, CITY 
from S 
where (STATUS > 20 and STATUS < 50)
or SNAME like '精%' or SNAME like '__益' or SNAME like '__民';

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

第10关:将SPJ表按QTY值降序排列,再找出SPJ表中前6条记录(用limit 6)

任务描述

将SPJ表按QTY值降序排列,再找出SPJ表中前6条记录(用limit 6)

相关知识

供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,标识某供应商 供应某种零件 给某工程项目的数量为QTY。 SPJ表如下图:

,

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

,


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

USE mydata;
#请在此处添加实现代码
########## Begin ##########

SELECT SNO, PNO, JNO, QTY 
FROM SPJ 
ORDER BY QTY DESC 
LIMIT 6;

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

第11关:找出供应零件总数量不低于1000的供应商号码,及每个供应商供应的总数量,并且结果按总数量降序排列

任务描述

找出供应零件总数量不低于1000的供应商号码,及每个供应商供应的总数量(SUM_QTY),并且结果按总数量降序排列

相关知识

供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,标识某供应商 供应某种零件 给某工程项目的数量为QTY。 SPJ表如下图:

,

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

,


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

USE mydata;
#请在此处添加实现代码
########## Begin ##########

SELECT SNO, SUM(QTY) 
AS SUM_QTY 
FROM SPJ 
GROUP BY SNO 
HAVING SUM_QTY >= 1000 
ORDER BY SUM_QTY DESC ;

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

第12关:找出工程项目J1使用的各种零件的名称及其数量

任务描述

找出工程项目J1使用的各种零件的名称及其数量(SUM_QTY),查询结果按数量降序排序。

相关知识

1、零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成; P表如下图:

,

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

,

2、供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,标识某供应商 供应某种零件 给某工程项目的数量为QTY。 SPJ表如下图:

,

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

,


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

USE mydata;
#请在此处添加实现代码
########## Begin ##########

SELECT PNAME,SUM(QTY) 
AS 'SUM_QTY'
FROM P,SPJ
WHERE SPJ.JNO='J1'
AND P.PNO=SPJ.PNO
GROUP BY P.PNAME
ORDER BY SUM_QTY DESC; 

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

第13关:求使用了300个及以上P1零件的工程名称

任务描述

求使用了300个及以上P1零件的工程名称

相关知识

1、工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成。 J表如下图:

,

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

,

2、供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,标识某供应商 供应某种零件 给某工程项目的数量为QTY。 SPJ表如下图:

,

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

,


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

USE mydata;
#请在此处添加实现代码
########## Begin ##########

SELECT DISTINCT JNAME
FROM J,SPJ
WHERE J.JNO=SPJ.JNO
AND PNO='P1'
AND J.JNO IN(
    SELECT JNO 
    FROM SPJ
    GROUP BY PNO,JNO
    HAVING SUM(QTY)>300
)


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

第14关:求各工程(名)使用的各城市供应的零件总数

任务描述

求各工程(名)使用的各城市供应的零件总数,结果先按工程名降序排序,再按城市名降序排序。

相关知识

1、供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成. S表如下图:

,

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

,

2、工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成。 J表如下图:

,

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

,

3、供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,标识某供应商 供应某种零件 给某工程项目的数量为QTY。 SPJ表如下图:

,

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

,


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

USE mydata;
#请在此处添加实现代码
########## Begin ##########
SELECT JNAME, S.CITY ,SUM(QTY)
AS SUM_QTY
FROM S,J,SPJ 
WHERE S.SNO=SPJ.SNO
AND SPJ.JNO=J.JNO
GROUP BY J.JNO,S.CITY
ORDER BY JNAME DESC,CITY DESC;

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

第15关:用嵌套查询这样的工程:供给该工程的零件P3的平均供应量,大于其中一种供给工程J1的零件的最大供应量

任务描述

用嵌套查询这样的工程:供给该工程的零件P3的平均供应量,大于其中一种供给工程J1的零件的最大供应量

相关知识

供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,标识某供应商 供应某种零件 给某工程项目的数量为QTY。 SPJ表如下图:

,

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

,


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

use mydata;
#请在此处添加实现代码
########## Begin ##########
SELECT JNO
FROM (
    SELECT JNO, AVG(QTY) AS AQ
    FROM SPJ
    WHERE PNO = 'P3'
    GROUP BY JNO
) AS V1
WHERE AQ > (
    SELECT MIN(MQ)
    FROM (
        SELECT MAX(QTY) AS MQ
        FROM SPJ
        WHERE JNO = 'J1'
        GROUP BY PNO
    ) AS V2
);

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

第16关:用链接查询这样的工程:供给该工程的零件P3的平均供应量,大于其中一种供给工程J1的零件的最大供应量

任务描述

用链接查询这样的工程:供给该工程的零件P3的平均供应量,大于其中一种供给工程J1的零件的最大供应量

相关知识

供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,标识某供应商 供应某种零件 给某工程项目的数量为QTY。 SPJ表如下图:

,

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

,


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


use mydata;
#请在此处添加实现代码
########## Begin ##########

SELECT distinct V1.JNO
FROM (
    SELECT JNO, AVG(QTY) AS AQ
    FROM SPJ
    WHERE PNO = 'P3'
    GROUP BY JNO
) AS V1
JOIN (
    SELECT MAX(QTY) AS MQ
    FROM SPJ
    WHERE JNO = 'J1'
    GROUP BY PNO
) AS V2 ON V1.AQ > V2.MQ;
########## End #######

第17关:查询这样的工程号:供应该工程零件P3的平均供应量不小于工程J1使用各零件合计数量的最小值

任务描述

查询这样的工程号:供应该工程零件P3的平均供应量,不小于工程J1使用各零件合计数量的最小值.

相关知识

供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,标识某供应商 供应某种零件 给某工程项目的数量为QTY。 SPJ表如下图:

,

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

,


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


use mydata;
#请在此处添加实现代码
########## Begin ##########
SELECT DISTINCT V1.JNO
FROM (
    SELECT JNO, AVG(QTY) AS AQ
    FROM SPJ
    WHERE PNO = 'P3'
    GROUP BY JNO
) AS V1
JOIN (
    SELECT SUM(QTY) AS MQ
    FROM SPJ
    WHERE JNO = 'J1'
    GROUP BY PNO
) AS V2 ON V1.AQ >= V2.MQ;
########## End ##########

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

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

相关文章

IT新闻资讯系统,使用mysql作为后台数据库,此系统具有显示数据库中的所有信息和删除两大功能。

表的准备&#xff1a; -- MySQL Administrator dump 1.4 -- -- ------------------------------------------------------ -- Server version 5.1.40-community /*!40101 SET OLD_CHARACTER_SET_CLIENTCHARACTER_SET_CLIENT */; /*!40101 SET OLD_CHARACTER_SET_RESULTSCHAR…

GLB/GLTF 模型压缩轻量化

在线工具推荐&#xff1a; 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 1、具有 Draco 压缩的 GLTF 和 GLB 文件格式 随着对沉浸式 3D 体验的…

Linux 防病毒软件:CentOS有哪些付费的防病毒软件

CentOS是一个基于开源的Linux发行版,通常不像Windows那样普遍需要使用付费的防病毒软件。大多数Linux系统侧重于使用开源和免费的安全工具来保护系统。一些常见的免费和开源的防病毒软件和安全工具包括ClamAV、Sophos Antivirus for Linux、rkhunter、chkrootkit等。 如果你非…

Leetcode—89.格雷编码【中等】

2023每日刷题&#xff08;五十九&#xff09; Leetcode—89.格雷编码 算法思想 套公式法实现代码 /*** Note: The returned array must be malloced, assume caller calls free().*/ int gray(int n) {return n ^ (n >> 1); } int* grayCode(int n, int* returnSize) {…

磁盘坏道修复工具-是一款非常方便实用的磁盘坏道修复软件-供大家学习研究参考

1、支持磁盘数据擦除。 2、杜绝因硬盘坏道&#xff0c;而产生个人隐私数据泄露的问题。 3、支持对该磁盘格式化。 下载&#xff1a;https://download.csdn.net/download/weixin_43097956/88625682

一文读懂Java中应用最广泛的策略模式

策略模式 策略模式是应用最为广泛也是最基础的设计模式。策略模式定义了一系列算法&#xff0c;并将每个算法封装起来&#xff0c;使他们可以相互替换&#xff0c;且算法的变化不会影响到使用算法的客户。需要设计一个接口&#xff0c;为一系列实现类提供统一的方法&#xff0…

c++原子变量

原子变量 概述 ​ C11提供了一个原子类型std::atomic<T>&#xff0c;通过这个原子类型管理的内部变量就可以称之为原子变量&#xff0c;我们可以给原子类型指定bool、char、int、long、指针等类型作为模板参数&#xff08;不支持浮点类型和复合类型&#xff09;。 ​ …

SpringCloud Alibaba 入门到精通 - Gateway

SpringCloud Alibaba 入门到精通 - Gateway 一、网关简介1.简单使用Gateway网关 二、断言1.After 断言时间2.Before 断言时间3.Between 断言时间4.Cookie 断言Cookie5.Header 断言请求头6.Host 断言请求头中的Host7.Method 断言请求方式8.Path 断言请求路径9.Query 断言请求URL…

LIN总线信号串行译码

我们用虹科Pico汽车示波器捕捉了LIN总线信号 &#xff0c;如果想看它对应的报文数据&#xff0c;我们可以应用PicoScope Automotive软件的串行译码功能来对它破译。 使用指导如下&#xff1a; 点击“串行译码”&#xff0c;选择对应的协议&#xff0c;如LIN。 在下面对话框&…

linux高级管理——访问MYSQL数据库

一、认识数据库系统&#xff1a; MySQL数据库系统也是一个典型的C/S(客户端/服务器&#xff09;架构的应用&#xff0c;要访问MySQL数据库需要使用专门的客户端软件。在Linux系统中&#xff0c;最简单、易用的MySQL客户端软件是其自带的mysql命令工具。 1&#xff0e;登录到My…

使用Visual Studio(VS)创建空项目的Win32桌面应用程序【main函数入口变WinMain】

前言 在Visual Studio中直接新建Windows桌面应用程序会有很多多余的代码生成&#xff0c;本文将提供从空项目创建Win32项目的方法&#xff0c;解决新建空项目直接使用WinMain代码编译报错的问题 例如&#xff1a;LNK2019 &#xff1a;无法解析的外部符号 参考博客&#xff1…

使用 Timm 库替换 RT-DETR 主干网络 | 1000+ 主干融合RT-DETR

文章目录 前言版本差异说明替换方法parse_moedl( ) 方法_predict_once( ) 方法修改 yaml ,加载主干论文引用timm 是一个包含最先进计算机视觉模型、层、工具、优化器、调度器、数据加载器、数据增强和训练/评估脚本的库。 该库内置了 700 多个预训练模型,并且设计灵活易用。…

电子取证中Chrome各版本解密Cookies、LoginData账号密码、历史记录

文章目录 1.前置知识点2.对于80.X以前版本的解密拿masterkey的几种方法方法一 直接在目标机器运行Mimikatz提取方法二 转储lsass.exe 进程从内存提取masterkey方法三 导出SAM注册表 提取user hash 解密masterkey文件&#xff08;有点麻烦不太推荐&#xff09;方法四 已知用户密…

el-select与treeselect下拉框重叠、兼容性问题

问题描述&#xff1a; 点击el-select的外部&#xff0c;el-select下拉框会自动收回&#xff0c;此操作触发了el-select的clickoutside事件&#xff0c;但当el-select与treeselect配合使用时&#xff0c;先点击el-select使下拉框出现&#xff0c;后再点击treeselect&#xff0c;…

浅谈 USB Bulk 深入浅出 (3) - USB Bulk 装置传输的注意事项

来源&#xff1a;大大通 作者&#xff1a;冷氣團 1 USB Bulk 是什么 USB 是即插即用使用差动信号的装置界面&#xff0c;是以 端点 ( Endpoint )&#xff0c;做为传输装置的输出入端&#xff0c;透过不同的端点 ( Endpoint ) 和模式&#xff0c;来进行与装置的沟通&#xff…

极狐在广告推广与客服系统中实现API集成,加快电商平台无代码开发进程

无代码开发&#xff1a;电商平台的新时代 随着科技的进步&#xff0c;电商平台正经历着一场变革&#xff0c;那就是无代码开发的兴起。在这个新时代里&#xff0c;企业不再需要耗费大量的时间和资源来进行繁杂的API开发。极狐GitLab作为一站式DevOps平台&#xff0c;提供了这样…

【C语言】动态内存规划# 这一篇就够了

目录 通过本篇文章&#xff0c;你可以了解到&#xff1a; &#xff08;O&#xff09;C/C中程序内存区域划分 &#xff08;一&#xff09;动态内存分配的作用 (二)动态内存函数的原理与使用 1.内存开辟malloc 2.初始并开辟calloc 3.调整已开辟的内存realloc 4.释放空间free …

TMTS汽车电子仿真及测试研讨会笔记请查收!

11月29日&#xff0c;德思特2023年度TMTS汽车电子仿真及测试研讨会圆满结束。感谢大家的观看与支持&#xff01; 在直播间收到一些观众的技术问题&#xff0c;我们汇总了热点问题并请讲师详细解答&#xff0c;在此整理分享给大家&#xff0c;请查收&#xff01; 面向汽车T-BOX…

2023年最佳推荐 | 值得收藏的 5大 SaaS 知识库

随着数字化时代的到来&#xff0c;SaaS&#xff08;软件即服务&#xff09;已经成为企业和个人日常工作中的重要工具。在众多的SaaS应用中&#xff0c;知识库是不可或缺的一部分&#xff0c;它可以帮助我们更好地管理和利用知识&#xff0c;提高工作效率和创新能力。接下来就跟…

小型洗衣机什么牌子好又便宜?内衣洗衣机品牌排行榜前十名

最近这两年在洗衣机中火出圈的内衣洗衣机&#xff0c;它不仅可以清洁我们较难清洗的衣物&#xff0c;自带除菌功能&#xff0c;可以让衣物上的细菌&#xff0c;还能在清洗的过程中呵护我们衣物的面料&#xff0c;虽然说它是内衣洗衣机&#xff0c;它的功能不止可以清洗内衣&…