08.Hive必刷50題--36-40題
– 36、查詢任何一門課程成績在70分以上的學生姓名、課程名稱和分數:
SELECT s.s_id,s.s_name,c.c_name,tmp2.s_score
FROM student s
JOIN
(SELECT sc.*
FROM score sc
LEFT JOIN (SELECT s_id FROM score WHERE s_score<70 GROUP BY s_id) tmp
ON sc.s_id=tmp.s_id
WHERE tmp.s_id is NULL
)tmp2
ON s.s_id=tmp2.s_id
JOIN course c ON tmp2.c_id=c.c_id
怎麼查每個學生的每個課程成績高於70?先查出有在70分以下的學生,之後連線score表,就能找出那些都在70分以上的
– 37、查詢課程不及格的學生:
SELECT s.s_name,tmp.*
FROM student s
JOIN
(SELECT sc.s_id,c_name,s_score
FROM score sc JOIN course c ON sc.c_id=c.c_id
WHERE s_score<60
)tmp
ON tmp.s_id=s.s_id
–38、查詢課程編號為01且課程成績在80分以上的學生的學號和姓名:
SELECT s.s_id,s.s_name,sc.s_score
FROM score sc
JOIN student s ON sc.s_id=s.s_id
WHERE c_id='01' AND s_score>=80
– 39、求每門課程的學生人數:
SELECT c.c_id,c.c_name,COUNT(1)
FROM score sc
JOIN course c ON sc.c_id=c.c_id
GROUP BY c.c_id,c.c_name
– 40、查詢選修"張三"老師所授課程的學生中,成績最高的學生資訊及其成績:
SELECT tmp.*
FROM
(SELECT s.*,s_score,RANK() over(ORDER BY s_score DESC) ranking
FROM teacher t
JOIN course c ON t.t_name='張三' AND t.t_id=c.t_id
JOIN score sc ON c.c_id=sc.c_id
JOIN student s ON sc.s_id=s.s_id) tmp
WHERE tmp.ranking=1
相關文章
- SQL 必知必會 50 題(1 - 5)SQL
- 牛客網SQL刷題41-50SQL
- 深度學習面試100題(第36-40題)深度學習面試
- Hive SQL必刷練習題:同時線上人數問題(*****)HiveSQL
- 刷題
- 必須要會的 50 個 React 面試題React面試題
- 刷題10.10
- 牛客15天刷題ZT50_小美的樹上染色
- mysql刷題題後感MySql
- SQL經典練習題48道之六(36-40)SQL
- LeetCode 刷題指南(一):為什麼要刷題LeetCode
- Tarjan縮點題單 刷題題解
- LeetCode刷題之第701題LeetCode
- 中考後刷題補題合集
- 50個你必須瞭解的Kubernetes面試問題面試
- 每日刷題 3.17
- 刷題學習
- LeetCode 刷題—樹LeetCode
- LeetCode刷題 堆LeetCode
- MISC刷題12
- 刷題記錄
- 順序刷題
- LeetCode刷題整理LeetCode
- leetcode刷題(一)LeetCode
- Leetcode題解1-50題LeetCode
- Hive 刷題——獎金瓜分問題Hive
- LeetCode刷題記錄LeetCode
- leetcode刷題筆記LeetCode筆記
- 如何使用leetcode刷題LeetCode
- Leetcode刷題分類LeetCode
- 20240520刷題總結
- 刷題筆記02筆記
- 刷題筆記03筆記
- LeetCode 刷題筆記LeetCode筆記
- 刷題記錄11
- 資料庫-刷題資料庫
- 黃綠題選刷
- Leetcode刷題準備LeetCode