目錄
第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 ##########