資料庫實驗五/SQL的資料查詢
資料庫實驗五
本學期資料庫實驗,之前又看到別人寫的,但是有一部分有點小錯,於是還是自己上機實驗的程式碼比較靠譜,這裡貼出來供大家參考
/////
/////
如果有錯誤 還望指出
////////
///////
SQL的資料查詢
一、實驗目的
1. 熟練使用SQL語言select 命令進行資料庫資料的各類查詢:單表查詢、多表連線查詢、分組統計查詢及巢狀查詢等。
2.會使用帶有子查詢的資料更新命令insert、update、delete。
二、實驗準備及任務
1.複習教材上SQL語言中select 命令和帶有子查詢的insert、update、delete
命令。
2.使用教師已經錄入相關資料的附錄二的“xsglsjk”資料庫,完成以下查詢,預先寫好相應的命令。
(1)查詢姓名中第二個字為“勇”的男學生的姓名和班級。
(2)查詢成績為68、78、88和98的選修記錄。
(3)查詢選修了“4”號課程沒有成績的學生學號。
(4)查詢“00311”班所有女生的學號、姓名和出生年份。
(5)查詢“李勇敏”同學的班長姓名。
(6)查詢“2001102”同學的選課門數。
(7)統計學生表中的班級數。
(8)查詢“00311”班每位同學的課程平均分。
(9)查詢哪些學生最低分大於70,最高分小於90,輸出他們的學號。
(10)計算Student×Cj×Course的結果。
(11)以clno升序、Sage降序列出Student表的學生資訊。
(12)列出成績高於學號為“2000101”、課程號為“3”的成績的所有選課記錄。
(13)查詢和“張婷婷”同學在同一班級的學生資訊。
(14)查詢不及格課程在三門及以上的同學。
(15)*查詢選修了目前Course中所有課程的同學。
- 完成帶有子查詢的insert、update、delete的任務,預先寫好相應的命令。
(16)對每位同學,求平均成績,並把結果存入新建立的表中。
(17)將班級號為“01312”班級的所有女學生的成績加5分。
(18)刪除“01311”班級的所有學生的成績記錄。
我只貼上幾個我認為還不錯的,太簡單的就不放程式碼了
select sname from student where sno in (select monitor from class where clno in ( select clno from student where sname = '李勇敏' ) ); select COUNT(distinct cno) from cj where sno = '2001102' ////////////////////////////////////////////////////////////////////// select distinct sno from cj where cj.grade > 70 and cj.grade <90; //////////////////////////////////////////////////////////////// select sno,avg(grade) from cj where sno in (select sno from student where clno = '00311' ) group by sno ////////////////////////////////////////////////////////////////////// select sno,clno,sage from student order by sage desc,clno asc; ////////////////////////////////////////////////////////////// select grade,cno,sno from cj where grade > ( select grade from cj where sno = '2000101' and cno = 3 ) select sno ,count(cno) 不及格科目數 from cj where grade < 60 group by (sno) having COUNT(cno) >= 3 select sno ,AVG(grade) 平均成績 from cj group by (sno)