【頭歌系統數據庫實驗】實驗7 SQL的復雜多表查詢-1

目錄

第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 SPJGROUP BY PNO,JNOHAVING 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 AQFROM SPJWHERE PNO = 'P3'GROUP BY JNO
) AS V1
WHERE AQ > (SELECT MIN(MQ)FROM (SELECT MAX(QTY) AS MQFROM SPJWHERE 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 AQFROM SPJWHERE PNO = 'P3'GROUP BY JNO
) AS V1
JOIN (SELECT MAX(QTY) AS MQFROM SPJWHERE 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 AQFROM SPJWHERE PNO = 'P3'GROUP BY JNO
) AS V1
JOIN (SELECT SUM(QTY) AS MQFROM SPJWHERE JNO = 'J1'GROUP BY PNO
) AS V2 ON V1.AQ >= V2.MQ;
########## End ##########

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/207804.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/207804.shtml
英文地址,請注明出處:http://en.pswp.cn/news/207804.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

初識人工智能,一文讀懂人工智能概論(1)

&#x1f3c6;作者簡介&#xff0c;普修羅雙戰士&#xff0c;一直追求不斷學習和成長&#xff0c;在技術的道路上持續探索和實踐。 &#x1f3c6;多年互聯網行業從業經驗&#xff0c;歷任核心研發工程師&#xff0c;項目技術負責人。 &#x1f389;歡迎 &#x1f44d;點贊?評論…

Python Django-allauth: 構建全面的用戶身份驗證系統

更多資料獲取 &#x1f4da; 個人網站&#xff1a;ipengtao.com Django-allauth是一個功能強大的Django插件&#xff0c;旨在簡化和定制Web應用程序中的用戶身份驗證和管理。本文將深入介紹Django-allauth的核心功能、基本用法以及實際應用場景&#xff0c;通過豐富的示例代碼…

AWTK 串口屏開發(1) - Hello World

1. 功能 這個例子很簡單&#xff0c;制作一個調節溫度的界面。在這里例子中&#xff0c;模型&#xff08;也就是數據&#xff09;里只有一個溫度變量&#xff1a; 變量名數據類型功能說明溫度整數溫度。范圍 (0-100) 攝氏度 2. 創建項目 從模板創建項目&#xff0c;將 hmi/…

挑選在線客服系統的七大注意事項

越來越多的企業開始注重客戶服務&#xff0c;所以在線客服系統也逐漸成為了電商企業不可或缺的一部分。然而在挑選在線客服系統的過程中&#xff0c;蠻多企業會遇到各種各樣的問題&#xff0c;這就導致了最終選擇的系統并不適合自己企業的需求。接下來我將提醒大家挑選在線客服…

網絡運維與網絡安全 學習筆記2023.12.4

網絡運維與網絡安全 學習筆記 第三十四天 今日目標 訪問存儲設備、配置yum源、使用yum管理軟件 LAMP部署及測試、systemctl系統控制、SELinux-Firewall防護 訪問存儲設備 掛載/卸載設備 什么是掛載? 掛載&#xff0c;裝載 將光盤/U盤/分區/網絡存儲等設備裝到某個Linux目…

mysql中IGNORE 關鍵字段用法

在MySQL中&#xff0c;IGNORE 關鍵字通常與數據修改語句&#xff08;如INSERT、UPDATE和DELETE&#xff09;一起使用&#xff0c;其作用是使得操作在遇到錯誤時不會終止執行&#xff0c;而是忽略錯誤并繼續處理后續的數據。這對于處理可能包含重復鍵值或某些違反約束的批量操作…

ssm(springboot“昭愿”甜品店銷售管理系統 蛋糕商城系統Java

ssm(springboot“昭愿”甜品店銷售管理系統 蛋糕商城系統Java(code&LW) 開發語言&#xff1a;Java 框架&#xff1a;ssm/springboot vue JDK版本&#xff1a;JDK1.8&#xff08;或11&#xff09; 服務器&#xff1a;tomcat 數據庫&#xff1a;mysql 5.7&#xff08;或…

FastAPI如何返回文件字節流?并且附帶一些json參數

文章目錄 GET方法 StreamingResponsePOST方法 StreamingResponse其他關于壓縮 GET方法 StreamingResponse 服務器&#xff1a; from fastapi import FastAPI from fastapi.responses import StreamingResponse from starlette.responses import FileResponse from pydantic i…

pycharm debug的時候變量顯示不出來,一直Collecting data...問題解決

問題描述&#xff1a; 如圖所示&#xff1a;一直加載不出來變量&#xff0c;顯示Collecting data 解決辦法&#xff1a; 在setting中給下圖中的選項打勾 這下就可以了。 應該是調試時候有線程沖突&#xff0c;具體我也不太懂。

springboot(ssm勤工助學管理系統 勤工儉學網站Java(codeLW)

springboot(ssmBBS勤工助學管理系統 勤工儉學網站Java(code&LW) 開發語言&#xff1a;Java 框架&#xff1a;ssm/springboot vue JDK版本&#xff1a;JDK1.8&#xff08;或11&#xff09; 服務器&#xff1a;tomcat 數據庫&#xff1a;mysql 5.7&#xff08;或8.0&…

mysql服務日志打印,時區不對的問題

查資料發現 原來日志的時區和服務器的時區不是一個參數控制的 log_timestamps 單獨控制日志的時區 show global variables like log_timestamps;看到默認的是UTC&#xff0c;只需要修改為和系統一致就行 #數據庫中直接修改 set global log_timestampsSYSTEM;#配置文件my.cn…

springboot086靚車汽車銷售網站

springboot086靚車汽車銷售網站 成品項目已經更新&#xff01;同學們可以打開鏈接查看&#xff01;需要定做的及時聯系我&#xff01;專業團隊定做&#xff01;全程包售后&#xff01; 2000套項目視頻鏈接&#xff1a;https://pan.baidu.com/s/1N4L3zMQ9nNm8nvEVfIR2pg?pwd…

APP測試基本流程及測試點總結

APP測試基本流程及測試點總結 1 測試流程 1.1 流程圖 1.2 測試周期 測試周期可按項目的開發周期來確定測試時間&#xff0c;一般測試時間為兩三周&#xff08;即15個工作日&#xff09;&#xff0c;根據項目情況以及版本質量可適當縮短或延長測試時間。 1.3 測試資源 測試任務…

12.8每日一題(備戰藍橋杯分支練習)

12.8每日一題&#xff08;備戰藍橋杯分支練習&#xff09; 題目 1633: 【入門】判斷3的倍數題目描述輸入輸出樣例輸入樣例輸出來源/分類 題解 1633: 【入門】判斷3的倍數題目 1636: 【入門】超市賣電池題目描述輸入輸出樣例輸入樣例輸出來源/分類 題解 1636: 【入門】超市賣電池…

B : DS靜態查找之折半查找

Description 給出一個隊列和要查找的數值&#xff0c;找出數值在隊列中的位置&#xff0c;隊列位置從1開始 要求使用折半查找算法 Input 第一行輸入n&#xff0c;表示隊列有n個數據 第二行輸入n個數據&#xff0c;都是正整數&#xff0c;從小到大&#xff0c;用空格隔開 …

VQVAE

68、VQVAE預訓練模型的論文原理及PyTorch代碼逐行講解_嗶哩嗶哩_bilibili本期視頻主要講解大規模無監督預訓練模型之VQVAE的論文原理以及PyTorch代碼逐行講解&#xff0c;希望對大家理解VQVAE以及圖像生成有幫助。, 視頻播放量 9920、彈幕量 80、點贊數 485、投硬幣枚數 322、收…

Linux:dockerfile編寫搭建tomcat練習(9)

我使用的httpyum倉庫 本地使用了5個文件&#xff0c;tomcat使用的官網解壓直接用的包】 Dockerfile 主配置文件 基于centos基礎鏡像 jdk1.8.0_91 java環境 run.sh 啟動腳本 centos.repo 倉庫文件 tomcat 源碼包 vim Dockerfile寫入FROM centos MAINTAINER ta…

一個 postman實現參數化讓我丟掉了一份20k的offer

什么時候會用到參數化 比如&#xff1a;一個模塊要用多組不同數據進行測試 驗證業務的正確性 Login模塊&#xff1a;正確的用戶名&#xff0c;密碼 成功&#xff1b;錯誤的用戶名&#xff0c;正確的密碼 失敗 postman實現參數化 在實際的接口測試中&#xff0c;部分參數…

C++ Boost提供的六種進程間通信技術介紹

作者:令狐掌門 技術交流QQ群:675120140 博客地址:https://mingshiqiang.blog.csdn.net/ 文章目錄 一、共享內存(Shared Memory)1.1 共享內存的原理創建共享內存段映射到進程地址空間進程間的數據訪問同步訪問生命周期管理安全性和資源限制實際應用1.2 boost共享內存代碼演…