sql2

1)编写创建数据库StudentDB的SQL语句;
2)编写创建数据表Student(sno varchar(50), sname varchar(50), sage int), 主键:sno 的SQL语句;
3)编写创建数据表Course(cno varchar(50), cname varchar(50), cprior int), 主键:cno 的SQL语句;
4)编写创建数据表SC(sno varchar(50), cno varchar(50), grade int), 主键:(sno,cno) 的SQL语句。
5)编写针对三个数据库的插入数据SQL语句,插入信息如下:
Student学生信息表 Course课程信息表 SC学生选课信息表
学号 姓名 年龄 课程号 课程名 学分 学号 课程号 成绩
sno sname sage cno cname cprior sno cno grade
以下为本表插入信息 以下为本表插入信息 以下为本表插入信息
200901 孙小红 23 0901 MIS 3 200901 0901 90
200902 李小强 22 0902 DataBase 3 200902 0901 85
200906 吴小明 23 0903 C 2 200901 0903 85
200912 王涛 19 0904 C# 2 200903 0902 70
200910 吴强 21 0905 SQL Server 2 200903 0901 75

6)编写更新数据的SQL语句,将学生表Student中姓王的同学的年龄改成23岁。
7)编写删除数据的SQL语句,将课程表Course中课程名为SQL Server的纪录删除。
以下问题均为编写SQL查询语句:
8)查询选课表SC的全部信息,要求记录显示按学号sno降序排列。
9)查询李小强选修的课程号、课程名、学分和成绩。
10)在选课表SC中查询平均成绩。
11)在选课表SC中查询各学号选修的课程数量。
12)在选课表SC中查询各门课程的平均成绩。
13)查询至少选修了两门课的学生的姓名。

答案:
1)create database StudentDB
use StudentDB
2)create table Student(sno varchar(50), sname varchar(50), sage int, primary key(sno))
3)create table Course(cno varchar(50), cname varchar(50), cprior int, primary key(cno))
4)create table SC(sno varchar(50), cno varchar(50), grade int, primary key(sno, cno))
5)insert into Student(sno, sname, sage) values(‘200901’, ‘孙小红’, 23)
insert into Student(sno, sname, sage) values(‘200902’, ‘李小强’, 22)
insert into Student(sno, sname, sage) values(‘200906’, ‘吴小明’, 23)
insert into Student(sno, sname, sage) values(‘200912’, ‘王涛’, 19)
insert into Student(sno, sname, sage) values(‘200910’, ‘吴强’, 21)
insert into course values(‘0901’, ‘MIS’, 3)
insert into course values(‘0902’, ‘DataBase’, 3)
insert into course values(‘0903’, ‘C’, 2)
insert into course values(‘0904’, ‘C#’, 2)
insert into course values(‘0905’, ‘SQL Server’, 2)
insert into sc values(‘200901’, ‘0901’, 90)
insert into sc values(‘200902’, ‘0901’, 85)
insert into sc values(‘200901’, ‘0903’, 85)
insert into sc values(‘200903’, ‘0902’, 70)
insert into sc values(‘200903’, ‘0901’, 75)
6)update student set sage=23 where sname like ‘王%’
7)delet

e from course where cname=’SQL Server’
8)select * from sc order by sno
9)select https://www.360docs.net/doc/ac10200765.html,o, https://www.360docs.net/doc/ac10200765.html,ame, course.cprior, sc.grade from student, sc, course where student.sname=’李小强’ and student.sno=sc.sno and https://www.360docs.net/doc/ac10200765.html,o=https://www.360docs.net/doc/ac10200765.html,o
10)select avg(grade) from sc
11)select sno, count(*) as 选课数量 from sc group by sno
12)select cno, avg(grade) as 本课平均成绩 from sc group by cno
13)方法一:select sname from student, sc where student.sno=sc.sno and sc.sno in( select sno from sc group by sno having count(sno)>=2)
方法二:create view scview1 as select sno from sc group by sno having count(sno)>=2;
Select sname from student, scview1 where student.sno=scview1.sno;

相关文档
最新文档