数据库实验五/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中所有课程的同学。

  1. 完成带有子查询的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)
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值