MySQL單表查詢練習筆記(選課)
阿新 • • 發佈:2019-01-22
表目錄
mysql> show tables;
+-------------------+
| Tables_in_student |
+-------------------+
| c |
| s |
| sc |
+-------------------+
課程表 ——c
學生表——s
選課表——sc
SQL實現單表查詢題
#查詢計算機系學生的學號和姓名 select sno,sname from s where depa="計算機系"; #查詢選修了課程的學生學號 select distinct sno from sc; #查詢選修“C01” 課程的學生學號和成績,並要求對查詢結果按成績的降序排列,如果成績相同則按學號的升序排列 select sno,grade from sc where cno='c01' order by grade desc,sno asc; #查詢每門課程的平均分 #按課程分組、並對每個課程的成績求平均分 select cno,avg(grade) from sc group by cno; #查詢學校開設的課程總數 #查詢課程號並不能重複,再求記錄數 select count(distinct cno) from sc; #查詢選修兩門及兩門以上課程的學生學號。(此題除了程式碼,執行結果,還請寫出程式碼的執行過程。) #1、根據學號分組 #2、學號分組完成後找到對應的課程記錄數大於等於2的學號 select sno from sc group by sno having count(cno)>=2; #查詢年齡在20-22之間的男生的學號、姓名、系部 select sno,sname,depa from s where age between 20 and 22; #查詢選修“C01”課程的學生人數 select count(cno) from sc where cno='c01';