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

目录

第1关:等值连接:求S表和J表城市相同的等值连接(列顺序还是按照S、J表)

第2关:查询供应情况,并显示供应商、零件和工程三者的名称

第3关:找出上海厂商供应的所有零件号码

第4关:找出使用上海产的零件的工程名称

第5关:找出没有使用天津产的零件的工程号码

第6关:求供应工程J1零件为红色的供应商号码SNO

[第7关:求没有使用天津供应商生产的红色零件的工程号 JNO](#第7关:求没有使用天津供应商生产的红色零件的工程号 JNO)

第8关:查询所有"红色"的15公斤及以上的零件名

第9关:查询工程名称中含有"厂"字的工程明细


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

第1关:等值连接:求S表和J表城市相同的等值连接(列顺序还是按照S、J表)

任务描述

等值连接:求S表和J表城市相同的等值连接(列顺序还是按照S、J表)

相关知识

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

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

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

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


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

sql 复制代码
USE mydata;
#请在此处添加实现代码
########## Begin ##########
select S.*,J.*
from S,J
where S.CITY=J.CITY;
########## End ##########

第2关:查询供应情况,并显示供应商、零件和工程三者的名称

任务描述

查询供应情况,并显示供应商、零件和工程三者的名称

相关知识

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

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

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

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

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

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

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

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


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

sql 复制代码
USE mydata;
#请在此处添加实现代码
########## Begin ##########
SELECT SNAME,PNAME,JNAME,QTY
FROM S,P,J,SPJ
WHERE S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO AND J.JNO=SPJ.JNO;

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

第3关:找出上海厂商供应的所有零件号码

任务描述

找出上海厂商供应的所有零件号码(注意去重)

相关知识

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

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

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

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


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

sql 复制代码
USE mydata;
#请在此处添加实现代码
########## Begin ##########
SELECT DISTINCT PNO
FROM S,SPJ
WHERE S.CITY='上海' AND S.SNO=SPJ.SNO;


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

第4关:找出使用上海产的零件的工程名称

任务描述

找出使用上海产的零件的工程名称,结果按工程名称降序排序。

相关知识

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

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

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

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

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

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


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

sql 复制代码
USE mydata;
#请在此处添加实现代码
########## Begin ##########
SELECT DISTINCT JNAME
FROM S,SPJ,J 
WHERE SPJ.sno=S.sno AND J.jno=SPJ.jno AND S.city='上海';

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

第5关:找出没有使用天津产的零件的工程号码

任务描述

找出没有使用天津产的零件的工程号码

相关知识

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

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

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

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


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

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

SELECT JNO
FROM SPJ
WHERE JNO NOT IN(
    SELECT JNO
    FROM SPJ
    WHERE SNO IN(
        SELECT SNO
        FROM S
        WHERE CITY='天津'
    )
);
########## End ##########

第6关:求供应工程J1零件为红色的供应商号码SNO

任务描述

求供应工程J1零件为红色的供应商号码SNO

相关知识

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

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

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

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


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

sql 复制代码
USE mydata;
#请在此处添加实现代码
########## Begin ##########
SELECT SNO
FROM SPJ
WHERE JNO='J1' AND PNO IN(
    SELECT PNO
    FROM P
    WHERE COLOR='红'
);

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

第7关:求没有使用天津供应商生产的红色零件的工程号 JNO

任务描述

求没有使用天津供应商生产的红色零件的工程号 JNO,(JNO注意去重)

相关知识

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

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

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

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

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

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


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

sql 复制代码
USE mydata;
#请在此处添加实现代码
########## Begin ##########
SELECT DISTINCT JNO
FROM SPJ
WHERE JNO NOT IN(
    SELECT JNO
    FROM SPJ
    WHERE PNO IN(
        SELECT PNO
        FROM P
        WHERE COLOR='红') AND SNO IN(
            SELECT SNO
            FROM S
            WHERE CITY='天津'
        )
);

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

第8关:查询所有"红色"的15公斤及以上的零件名

任务描述

查询所有"红色"的15公斤及以上的零件名

相关知识

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

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


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

sql 复制代码
USE mydata;
#请在此处添加实现代码
########## Begin ##########
SELECT PNAME
FROM P
WHERE WEIGHT>=15 AND COLOR='红';

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

第9关:查询工程名称中含有"厂"字的工程明细

任务描述

查询工程名称中含有"厂"字的工程明细

相关知识

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

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


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

sql 复制代码
USE mydata;
#请在此处添加实现代码
########## Begin ##########
SELECT *
FROM J
WHERE JNAME LIKE '%厂';

########## End ##########
相关推荐
JavaGuide7 小时前
公司来的新人用字符串存储日期,被组长怒怼了...
后端·mysql
怒放吧德德9 小时前
MySQL篇:MySQL主从集群同步延迟问题
后端·mysql·面试
数据智能老司机10 小时前
CockroachDB权威指南——CockroachDB SQL
数据库·分布式·架构
Eip不易也不e11 小时前
教程之同时安装两个版本的 mysql
mysql
数据智能老司机11 小时前
CockroachDB权威指南——开始使用
数据库·分布式·架构
松果猿11 小时前
空间数据库学习(二)—— PostgreSQL数据库的备份转储和导入恢复
数据库
Kagol11 小时前
macOS 和 Windows 操作系统下如何安装和启动 MySQL / Redis 数据库
redis·后端·mysql
无名之逆11 小时前
Rust 开发提效神器:lombok-macros 宏库
服务器·开发语言·前端·数据库·后端·python·rust
s91236010111 小时前
rust 同时处理多个异步任务
java·数据库·rust
你觉得20511 小时前
哈尔滨工业大学DeepSeek公开课:探索大模型原理、技术与应用从GPT到DeepSeek|附视频与讲义下载方法
大数据·人工智能·python·gpt·学习·机器学习·aigc