【头歌系统数据库实验】实验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 ##########
相关推荐
Wang's Blog43 分钟前
Redis: 集群环境搭建,集群状态检查,分析主从日志,查看集群信息
数据库·redis
容器( ु⁎ᴗ_ᴗ⁎)ु.。oO1 小时前
MySQL事务
数据库·mysql
coderWangbuer1 小时前
基于springboot的高校招生系统(含源码+sql+视频导入教程+文档+PPT)
spring boot·后端·sql
Hello.Reader2 小时前
TopK算法在大数据重复数据分析中的应用与挑战
大数据·算法·数据分析
数据龙傲天2 小时前
1688商品API接口:电商数据自动化的新引擎
java·大数据·sql·mysql
Elastic 中国社区官方博客2 小时前
Elasticsearch:使用 LLM 实现传统搜索自动化
大数据·人工智能·elasticsearch·搜索引擎·ai·自动化·全文检索
engineer-gxd3 小时前
MySQL 表的操作
mysql
cyt涛3 小时前
MyBatis 学习总结
数据库·sql·学习·mysql·mybatis·jdbc·lombok
Rookie也要加油3 小时前
01_SQLite
数据库·sqlite
liuxin334455663 小时前
教育技术革新:SpringBoot在线教育系统开发
数据库·spring boot·后端