删除信息系成绩小于50分的学生的修课纪录。(请用子查询实现) delete from sc where grade < 50 and sno in (
select sno from student where sdept = '信息系' )
设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept), 课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)
删除“Java”考试成绩最低的2个学生的Java修课记录。 delete from sc where sno in (
select top 2 with ties sno from sc join course c on c.cno = sc.cno where cname = 'Java' order by grade asc )
and cno in (select cno from course where cname = 'Java')
设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept), 课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)
修改高等数学的考试成绩,修改规则如下:如果是计算机系学生,则加10分;如果是信息系学生则加5分;如果是数学系学生则分数不变。 update sc set grade = grade + case sdept when '计算机系' then 10 when '信息系' then 5 when '数学系' then 0 end
from sc join student s on s.sno = sc.sno join course c on c.cno = sc.cno where cname = '高等数学'
设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept), 课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)
针对以上各表,写出创建满足如下要求的视图的SQL语句。
查询考试成绩大于等于90的学生姓名、所在系、课程名、课程学分和成绩。视图名为v1 create view v1 as
select sname,sdept,cname,credit,grade from student s join sc on s.sno = sc.sno join course c on c.cno = sc.cno
where grade >= 90
设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept), 课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)
针对以上各表,请按如下模式写出创建满足如下要求的视图的SQL语句。 统计计算机系每个学生的选课门数(不考虑没选课的学生),列出学生学号和选课门数。 create view v2(学号,选课门数) as create view v2(学号,选课门数) as
select s.sno,count(*) from student s join sc on s.sno = sc.sno where sdept = '计算机系' group by s.sno
设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept), 课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)
针对以上各表,请按如下模式写出创建满足如下要求的视图的SQL语句。
统计每个学生的修课总学分,要求列出学生学号和总学分(说明:考试成绩大于等于60才可获得此门课程的学分)。
create view v3(学号,总学分) as create view v3(学号,总学分) as
select sno,sum(credit) from course c join sc on c.cno = sc.cno where grade >= 60 group by sno
设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept), 课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)
针对以上各表,请按如下模式写出创建满足如下要求的视图的SQL语句。 统计每个学期开设的课程总门数及总学分。 create view v4(学期,开课总门数,总学分) as create view v4(学期,开课总门数,总学分) as
select semester,count(*),sum(credit) from course group by semester
设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept), 课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)
针对以上各表,请按如下模式写出创建满足如下要求的视图的SQL语句。 统计选课人数最多的前三门课程(包括并列的情况),列出课程名、学分和开课学期。 create view v5(课程名,学分,开课学期) as create view v5(课程名,学分,开课学期) as select cname,semester from course
where cno in (select top 3 with ties cno from sc group by cno order by count(*) desc)
设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept), 课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)
针对以上各表,请按如下模式写出创建满足如下要求的视图的SQL语句。 统计选课人数最多的前3门课程的课程名和开课学期(包括并列情况)。 create view v8(课程名,开课学期) as create view v8(课程名,开课学期) as select canme,semester from course where cno in (
select top 3 with ties cno from sc group by cno order by count(*) desc )
为描述商场的商品销售情况,设计了三张表:商品表、客户表和销售表,各表结构如下: 1.客户表
客户号:普通编码定长字符型,长度为8,主键。 客户名:普通编码定长字符型,长度为10,非空。
身份证号:普通编码定长字符型,长度为18,取值不重。 性别:普通编码定长字符型,长度为2,默认值为“女”。
2.商品表
商品号:普通编码定长字符型,长度为8,主键。
商品名:普通编码可变长字符型,最大长度为30,非空。 单价:定点小数类型,整数部分4位,小数部分2位。
类别:普通编码定长字符型,长度为4,取值范围为{冰箱,电视,电脑}
3.销售表
客户号:普通编码定长字符型,长度为8,非空。外键,引用“客户表”的“客户号” 商品号:普通编码定长字符型,长度为8,非空。外键,引用“商品表”的“商品号” 销售时间:日期时间型,非空。 销售数量:整型。
其中(客户号,商品号,销售时间)为主键。
写出创建“客户表”、“商品表”和“销售表”的SQL语句,要求在创建表时定义表中
的全部约束。
Create table 客户表(
客户号 char(8) primary key, 客户名 char(10) not null, 身份证号 char(18) unique, 性别 char(2) default ‘女’ )
Create table 商品表(
商品号 char(8) primary key, 商品名 varchar(30) not null, 单价 numeric(6,2),
类别 char(4) check(类别 in (‘冰箱’,’电视’,’电脑’) )
Create table 销售表( 客户号 char(8) not null, 商品号 char(8) not null, 销售时间 datetime not null, 销售数量 int,
Primary key(客户号,商品号,销售时间),
Foreign key(客户号) references 客户表(客户号), Foreign key(商品号) references 商品表(商品号))
为描述读者对图书的借阅情况,设计了三张表:图书表、读者表和借阅表,各表结构如下:
1.读者表
读者号:普通编码定长字符型,长度为8,主键。 读者名:普通编码定长字符型,长度为10,非空。
读者身份:普通编码定长字符型,长度为4,取值范围为{学生,教师}。
2.图书表
书号:普通编码定长字符型,长度为8,主键。
书名:普通编码可变长字符型,最大长度为30,非空。 单价:定点小数类型,整数部分3位,小数部分1位。 出版日期:日期型。
类别:普通编码定长字符型,长度为8,默认值为“计算机”。 在库数量:整型。
3.借阅表
读者号:普通编码定长字符型,长度为8,非空。外键,引用“读者表”的“读者号”。 书号:普通编码定长字符型,长度为8,非空。外键,引用“图书表”的“书号” 。 借书日期:日期时间型,非空。
还书日期:日期时间型。
其中(读者号,图书号,借书日期)为主键。
写出创建这三张表的SQL语句,要求在创建表时定义表中的全部约束。 Create table 读者表(
读者号 char(8) primary key, 读者名 char(10) not null,
读者身份 char(4) check(读者身份 in (‘教师’,’学生’)))
Create table 图书表(
书号 char(8) primary key, 书名 varchar(30) not null, 单价 numeric(4,1), 出版日期 date,
类别 char(8) default ‘计算机’)
Create table 借阅表(
读者号 char(8) not null, 书号 char(8) not null, 借书日期 date not null, 还书日期 date,
Primary key(读者号,书号,借书日期),
Foreign key(读者号) references 读者表(读者号), Foreign key(书号) references 图书表(书号))
为描述房屋出租情况,设计了三张表:房屋表、客户表和出租表,各表结构如下: 1.客户表
客户号:普通编码定长字符型,长度为8,主键。 客户名:普通编码定长字符型,长度为10,非空。
身份证号:普通编码定长字符型,长度为18,取值不重。 年龄:小整型。
2.房屋表
房屋号:普通编码定长字符型,长度为8,主键。 使用面积:小整型。
户型:普通编码定长字符型,长度为4,取值范围为{朝南,朝北,朝西,朝东} 月租金:整型。