From SC
group by Cno;
(6)统计每个学生的选课门数和考试总成绩,并按总成绩的递减顺序显示结果。 Select sno,count(cno) 选课门数, sum(grade) 总成绩
From SC
SQL语句,实验二,实验三,数据库数据定义和查询1、掌握使用SQL语句创建和删除数据表,创建各种完整性约束。2、掌握使用SQL语句修改表的结构。3、掌握查询语句的使用方法,重点掌握连接查询和嵌套查询。数据更新与视图1、掌握数据更新语句的使用;2、掌握视图操作的基本方法和应用,理解基于视图的查询和数据更新操作的过程。
group by sno
Order by 总成绩 desc;
(7)查询总成绩超过200分的学生,要求列出学号和总成绩。
Select sno,sum(grade)
From SC
group by sno
having SUM(grade)>=200;
(8)查询姓名为余丹妮的学生所学课程的课程名与学分。
Select cname ,credit
From C
Where cno in(
Select cno
From SC
Where sno in(
Select sno
From S
Where sname='余丹妮'
)
)
(91)查询选修课程号为“C02”或“C07”的学生的学号。
Select distinct s1.Sno
From SC s1,SC s2
Where s1.sno=s2.sno and (o='C02' or o='C07');
(9)查询选修课程号为“C02”或“C07”的学生的学号。
Select distinct sno
From SC
Where cno='C02' or cno='C07';
(10)查询选修了课程号为“C02”和“C07”的学生的学号。
Select s1.Sno
From SC S1,SC S2
Where s1.sno=s2.sno and o='C02' and o='C07';
(11)查询学习全部课程的学生姓名。
Select sname
From S
Where sno in(
Select sno
From SC
Group by sno
Having count(cno)=8
)
(12)查询1992年1月1日以前出生的学生的姓名和专业。
SQL语句,实验二,实验三,数据库数据定义和查询1、掌握使用SQL语句创建和删除数据表,创建各种完整性约束。2、掌握使用SQL语句修改表的结构。3、掌握查询语句的使用方法,重点掌握连接查询和嵌套查询。数据更新与视图1、掌握数据更新语句的使用;2、掌握视图操作的基本方法和应用,理解基于视图的查询和数据更新操作的过程。
Select sname, major
From S
Where datediff(dd,sbirth,'1992-1-1')>0
(13)查询选修了“计算机网络”课程且成绩在90分以上的学生姓名。
Select sname
From S
Where sno in(
Select sno
From SC
Where cno in (
Select cno
From C
Where cname='计算机网络'
)and grade>=90
)
(14)查询选修了5门以上课程的学生学号和姓名。
Select sno ,sname
From S
Where sno in (
Select sno
From SC
Group by sno
having count(cno)>=5
)
(15)查询未选修“离散数学”的学生情况。
SELECT *
FROM S
WHERE NOT EXISTS
(SELECT *
FROM SC
WHERE Sno = S.Sno
AND Cno=(select cno
From C
Where cname='离散数学')
)
(16)统计C01和C06号课程的选课人数及平均成绩。
Select cno ,count(sno) 选课人数,avg(grade) 平均成绩
From sc
Group by cno
having Cno='C01' or Cno='C06';
(17)查询比所有计算机专业学生年龄都大的学生。
Select *
From S
SQL语句,实验二,实验三,数据库数据定义和查询1、掌握使用SQL语句创建和删除数据表,创建各种完整性约束。2、掌握使用SQL语句修改表的结构。3、掌握查询语句的使用方法,重点掌握连接查询和嵌套查询。数据更新与视图1、掌握数据更新语句的使用;2、掌握视图操作的基本方法和应用,理解基于视图的查询和数据更新操作的过程。
Where datediff(yy,sbirth,getdate())>(select max(datediff(yy,sbirth,getdate()))
From S
Where major='计算机')
(18)将网络工程专业的学生按出生时间先后排序。
Select *
From S
where Major='网络工程'
Order by sbirth asc
实验三 数据更新与视图
SQL语句:
//在实验一创建的数据库STUDENT中使用SQL语句完成以下操作:
//(1)学生佟双要退学,请删除该学生的所有记录。
alter table SC
add constraint FK_SC_S foreign key (Sno) references S(Sno)
on delete cascade;
delete
from S
where sname='佟双'
(2)将姓名为“刘忠琦”同学的专业改为“软件工程”,备注改为“转专业学习”。 update S
set major='软件工程',
note='转专业学习'
where sname='刘忠琦'
(3)删除选修了“计算机网络”但没有及格的选课记录。
delete
from sc
where cno =(select cno from C where cname='计算机网络') and grade <60
(4)将(101131,路前元,男,1993-11-8,网络工程)插入学生关系。
insert into S(Sno,Sname,Ssex,Sbirth,Major)
values('101131','路前元','男',1993-11-8,'网络工程')
(5)在C表中插入以下元组:
“C09,数据库原理,4,48,4”,
“C10,JAVA语言程序设计,3,72,6”
SQL语句,实验二,实验三,数据库数据定义和查询1、掌握使用SQL语句创建和删除数据表,创建各种完整性约束。2、掌握使用SQL语句修改表的结构。3、掌握查询语句的使用方法,重点掌握连接查询和嵌套查询。数据更新与视图1、掌握数据更新语句的使用;2、掌握视图操作的基本方法和应用,理解基于视图的查询和数据更新操作的过程。
insert into C (Cno,Cname,Term,Period,Credit)
values('C09','数据库原理',4,48,4),('C10','JAVA语言程序设计',3,72,6)
(6)创建视图JSJ_VIEW,包括计算机专业学生的学号,姓名,其选修的课程名及成绩属性列。