第1关 查询所有“红色”的15公斤及以上的零件名

任务描述
查询所有“红色”的15公斤及以上的零件名

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

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

SELECT PNAME
FROM P
WHERE COLOR='红'
AND WEIGHT>15;

第2关 查询工程名称中含有“厂”字的工程明细

任务描述
查询工程名称中含有“厂”字的工程明细

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

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

SELECT *
FROM J
WHERE JNAME like "%厂"

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

任务描述
求各颜色零件的平均重量

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

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

SELECT COLOR,AVG(P.WEIGHT)
FROM P
GROUP BY P.COLOR

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

任务描述
求北京和天津供应商的总个数

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

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

SELECT CITY,COUNT(*)
FROM S
WHERE S.CITY='北京'OR S.CITY='天津'
GROUP BY CITY;

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

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

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

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

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

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

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

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

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

SELECT SNO,JNO,SUM(QTY) AS SUM_QTY
FROM SPJ
GROUP BY SNO,JNO
ORDER BY SNO DESC,JNO DESC;

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

任务描述
求重量大于所有零件平均重量的零件名称

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

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

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

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

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

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

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

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

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

SELECT SNAME
FROM S
WHERE SNO IN(SELECT SNOFROM SPJGROUP BY QTY HAVING SUM(QTY)>1000
)GROUP BY SNAME DESC

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

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

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

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

SELECT COUNT(PNO)'蓝色零件数'
FROM P
WHERE P.COLOR='蓝'

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

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

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

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

SELECT PNO,PNAME,WEIGHT*0.85 AS'零件净重'
FROM P

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

任务描述
查询 SSTATUS值大于20且小于50,或SNAME字段值的第一个字为“精”或第三个字为“益”或“民”的供应商信息

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

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

SELECT *
FROM S
WHERE (STATUS>20 AND STATUS<50)
OR (SNAME like'精%') OR (SNAME='__益' or SNAME='__民')

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

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

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

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

SELECT *
FROM SPJ
ORDER BY QTY DESC
LIMIT 6

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

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

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

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

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

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

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

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

SELECT JNO
FROM SPJ
WHERE PNO='P1'
GROUP BY JNO
HAVING AVG(QTY)>(SELECT MAX(QTY)FROM SPJWHERE JNO='J1'
)

第15关 基于派生表查询每个队员解答中超过他平均memory的user_id及题目编号problem_id

任务描述
查询这样的工程:供给该工程的零件P1的平均供应量,大于其中一种供给工程J1的零件的最大供应量

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

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

CREATE VIEW avg_s(id,m) as SELECT user_id,
avg(memory) FROM solution GROUP BY user_id;
SELECT user_id,problem_id
FROM solution,avg_s
where solution.user_id=avg_s.id
AND solution.memory>avg_s.m

第16关 用ANY/ALL实现查询2019级选手(user_id前4位为2019)满足比2020级其中一个选手注册时间早即可的选手

任务描述
ANY/ALL实现查询2019级选手(user_id4位为2019)满足比2020级其中一个选手注册时间(reg_time)早即可的选手信息
相关知识
users为选手信息表;
users表如下图(仅显示前几条):

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

SELECT *
FROM users
WHERE user_id like'2019%'
AND reg_time<any(SELECT reg_time FROM users WHERE user_id LIKE '2020%'
);

第17关 用聚集查询实现查询2019级选手(user_id前4位为2019)满足比2020级其中一个选手注册时间早即可的选手

任务描述
用聚集查询实现查询2019级选手(user_id前4位为2019)满足比2020级其中一个选手注册时间(reg_time)早即可的选手信息

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

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

SELECT *
FROM users
WHERE user_id like'2019%'
AND reg_time<any(SELECT reg_time FROM users WHERE user_id LIKE '2020%'
);

第18关 用ANY/ALL实现查询2019级选手所有比2020级选手注册时间都早的选手信息

任务描述
ANY/ALL实现查询2019级选手所有比2020级选手注册时间都早的选手信息

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

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

SELECT *
FROM users
WHERE user_id like'2019%'
AND reg_time<ALL(SELECT reg_time FROM users WHERE user_id LIKE '2020%'
);

第19关 用聚集查询实现查询2019级选手所有比2020级选手注册时间都早的选手信息

任务描述
聚集查询实现查询2019级选手所有比2020级选手注册时间都早的选手信息

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

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

SELECT *
FROM users
WHERE user_id like'2019%'
AND reg_time<ALL(SELECT reg_time FROM users WHERE user_id LIKE '2020%'
)

第20关 用 EXISTS 实现查询至少参与过"202002020217"选手参与过的所有比赛的选手信息

任务描述
EXISTS 实现查询至少参与过"202002020217"选手参与过的所有比赛的选手信息,contest_id不为NULL

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

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

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

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

SELECT users.*
FROM users
WHERE not EXISTS(SELECT *FROM solution s1WHERE s1.user_id='202002020217' AND s1.contest_id is not NULL AND not exists(SELECT *FROM solution s2WHERE s1.contest_id=s2.contest_id AND users.user_id=s2.user_id)
);

第21关 请为三建工程项目建立一个供应情况的视图V_SPQ,包括供应商代码(SNO)、零件代码(PNO)、供应数量(QTY)

任务描述
请为三建工程项目建立一个供应情况的视图V_SPQ,包括供应商代码(SNO)、零件代码(PNO)、供应数量(QTY)

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

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

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

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

CREATE VIEW V_SPQ(SNO,PNO,QTY)
AS SELECT SNO,PNO,QTY
FROM SPJ
WHERE SPJ.JNO='J1';

第22关 从视图V_SPQ找出三建工程项目使用的各种零件代码及其数量

任务描述
从视图V_SPQ找出三建工程项目使用的各种零件代码及其数量(SUM_QTY),结果按SUM_QTY降序排序。

相关知识
三建工程项目视图V_SPQ由供应商代码(SNO)、零件代码(PNO)、供应数量(QTY)组成。 视图V_SPQ如下图:

现已构建视图V_SPQ,结构信息如下:

SELECT PNO,SUM(QTY) AS SUM_QTY
FROM V_SPQ
GROUP BY PNO
ORDER BY SUM(QTY) DESC;

实验3 SQL的复杂多表查询以及视图相关推荐

  1. SQL 语句的多表查询方式

    SQL 语句的多表查询方式 例如:按照 department_id 查询 employees(员工表)和 departments(部门表) 的信息. 方式一(通用型): SELECT ... FROM ...

  2. Apache Drill介绍-SQL语句和系统表查询

    Apache Drill介绍-SQL语句和系统表查询 Apache Drill 主要用于查询,主要关注select 和 建表语句,Drill 支持select 很标准, 这次主要介绍create语句, ...

  3. SQL语言之多表查询(oracle)

    多表查询 当查询的数据并不是来源一个表时,需要使用多表连接操作完成查询.根据不同表中的 数据之间的关系查询相关联的数据. 一.笛卡尔乘积(Cartesian product) 在数学中,两个集合x和y ...

  4. sql 相加_SQL多表查询

    一.表的加法 相加就是用union把两个select语句相加,会去重:如果需要保留重复的行,用union all就可以了 二.表的联结 联结的几种类型: 1.交叉联结 2.内联结 3.左联结 4.右联 ...

  5. mysql多表查询sql语句怎么写_MySQL基本SQL语句之单表查询、多表查询和子查询

    一.简单查询: 基本语法: SELECT * FROM tb_name;查询全部 SELECT field1,field2 FROM tb_name; 投影 SELECT [DISTINCT] * F ...

  6. 修改 连接层_Mybatis连接池_动态sql语句_多表查询实现

    Mybatis连接池 Mybatis中的连接池Mybatis连接池提供了3种方式的配置:配置的位置:主配置文件SqlMapConfig.xml中的dataSource标签,type属性就是表示采用何种 ...

  7. 操作表的SQL语句补充 、表查询关键字、多表查询

    操作表的SQL语句补充 1.修改表名 alter table 旧表名 rename 新表名; mysql> create table t1(id int primary key auto_inc ...

  8. mysql 单表 子查询_MySQL基本SQL语句之单表查询、多表查询和子查询 | 旺旺知识库...

    一.简单查询: 基本语法: SELECT * FROM tb_name;查询全部 SELECT field1,field2 FROM tb_name; 投影 SELECT [DISTINCT] * F ...

  9. mysql 子表 关联查询语句_MySQL基本SQL语句之单表查询、多表查询和子查询

    一.简单查询: 基本语法:SELECT * FROM tb_name;查询全部 SELECT field1,field2 FROM tb_name; 投影 SELECT [DISTINCT] * FR ...

最新文章

  1. MyBatis学习总结(10)——批量操作
  2. Java各种数据类型详细介绍及其区别
  3. mysql分库分表方案之sharding-jdbc使用(非demo示例)
  4. 远程桌面服务怎么测试_快速的远程服务测试
  5. SAS对数据变量的处理
  6. 通过腾讯地图服务获取行政区划信息
  7. 移动互联网APP测试流程及测试点(转载)(一)
  8. 双极结型三极管及放大电路基础
  9. 数据科学包2-pandas快速入门1
  10. 坚持开源、能力内化,中移苏研荣获“中国开源领军企业”大奖!
  11. 全球宽带接入发展转折点 FTTP用户数首超DSL
  12. Flink系列:物理分区分组broadcast、global、shuffle、forward、rebalance、rescale理解与实战
  13. 洛谷 U87052 一线天
  14. matlab:双或三方演化博弈,lotka-Volterra 1.双方演化博弈:代分析稳定点分析,代绘制相位图,matlab仿真图代码
  15. 工地信息化——施工现场网格化管理系统实施小记
  16. 但行好事,莫问前程。
  17. cve 爬虫_CVE监控之Python代码实现
  18. 浏览器的input禁用输入法
  19. php 替换 全角符号,php如何实现全角符号转半角
  20. matlab传感器避障小车,激光雷达避障小车的制作

热门文章

  1. 在没有源码的情况下修改.class文件
  2. Mac修改iPhone备份到移动硬盘或其他位置,避免备份空间不足
  3. 2D 游戏工具系列:unity自带Tilemap和地图编辑器Tiled的基本使用以及Super Tiled2Unity如何导入tmx到Unity中(2)
  4. bat计算机清理原理,科技教程:电脑如何一键清除垃圾bat
  5. 【LiteOS】小白进阶之系统移植配置解析
  6. 200 OK (from cache) 与 304 Not Modified
  7. 04、【电脑维修】Win 10重新安装微软商店以及便筏打不开问题
  8. PS怎样把低像素图片变成高像素图片
  9. linux的dep文件是什么意思,DEP 文件扩展名: 它是什么以及如何打开它?
  10. 【GZH逸佳君】生财有术:100多位互联网赚钱高手分享的2021年5万字赚钱建议