數據庫實驗五數據的查詢(4學時)

這個應該要兩個小時的上機實驗吧,我記得第一次做這個實驗,我沒做完,下面是我課後做的除了最後三小題還沒寫,12.13.14.15我沒找到書上的例子不知道對不對,留下參考,等下次問老師,看老師的方法

實驗SQL的數據查詢4學時

一、實驗目的

1. 熟練使用SQL語言select 命令進行數據庫數據的各類查詢單表查詢、多表連接查詢、分組統計查詢及嵌套查詢

2會使用帶有子查詢的數據更新命令insertupdatedelete

 

二、實驗準備及任務

1.複習教材上SQL語言中select 命令帶有子查詢的insertupdatedelete

命令。

2使用教師已經錄入相關數據的附錄二的xsglsjk”數據庫,完成以下查詢,預先寫好相應的命令。

1)查詢姓名中第二個字爲“勇”的男學生姓名班級

2)查詢成績爲68788898選修記錄。

3)查詢選修了“4”號課程沒有成績的學生學號

4)查詢00311”班所有女生的學號、姓名出生年份

5)查詢李勇敏”同學的班長姓名。

6)查詢“2001102”同學選課門數

7)統計學生表中的班級數

8查詢00311”班每位同學的課程平均分。

9查詢哪些學生最低分大於70,最高分小於90,輸出他們學號

10)計算Student×Cj×Course的結果。

11clno升序、Sage降序列出Student表的學生信息

12列出成績高於學號爲2000101”、課程號爲“3”的成績的所有選課記錄。

13)查詢和張婷婷”同學在同一班級的學生信息。

14)查詢不及格課程在三門及以上的同學。

15*查詢選修了目前Course中所有課程的同學。

3. 完成帶有子查詢的insertupdatedelete任務,預先寫好相應的命令。

16對每位同學,求平均成績,並把結果存入新建立的表中。

17將班級號爲01312”班級的所有學生的成績加5分。

18刪除01311”班級的所有學生的成績記錄。

 mycode:

select sname,clno
from student
where sname like '_勇%';

select sno
from cj
where grade in ('68', '78', '88', '98');
--或者寫成where grade = 68 or grade = 78 or grade = 88 or grade = 98;兩者等價

select sno
from cj
where cno = 4 and grade is null;

select sno, sname, 2018 - sage
from student
where clno = '00311' and ssex = '女';

select sname 
from student
where sno = 
			(
			select monitor
			from class 
			where clno = 
						(
						select clno 
						from student
						where sname = '李勇敏'
						)
			)

select count(cno)
from cj
where sno = '2001102'

select count(distinct clno)
from student 


select sno,avg(grade)
from cj
where sno in 
			(select sno
			 from student
			 where clno = '00311'
			)
group by sno

select sno 
from cj
group by sno
having min(grade)>70 and max(grade)<90;

select student.sno,sname,ssex,sage,grade,clno
from student,cj,course
where student.sno = cj.sno;

select sno,clno,sage
from student
order by  sage desc,clno asc;

select grade
from cj
where grade > 
			(
			select grade
			from cj
			where sno = '2000101' and cno = 3
			)


select sno,sage,sname
from student
where clno in 
			(
			select clno 
			from student
			where sname = '張婷婷'
			)


select Sno
from cj
having count((grade)<60)>30


select sno
from cj
where cno = *;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章