1、 建立查询学生的学号、姓名、性别和年龄的视图。(视图名为view1)
- 用SQL命令创建视图
create view view1
as
select Sno,Sname,Sex,Sage
from student
- 删掉建立的视图
drop view view1
2、 查询计算机系年龄小于20的女 学生的学号、姓名和年龄的视图。(视图名为view2)
- 用SQL命令创建视图
create view view2
as
select Sno,Sname,Sage
from student
where (sdept='计算机')and(Sage<20)and(Sex='女')
- 删掉建立的视图
drop view view2
3、 建立计算机系选修了C1课程的学生的学号、姓名和成绩的视图。(视图名为view3)
- 用SQL命令创建视图
create view view3
as
select student Sno,Sname,Grade
from student join SC on student.Sno=SC.Sno//join on 就是表连接
where sdept='计算机'and SC.Cno='C1'
- 删掉建立的视图
drop view view3
4、定义一个查询学生出生年份的视图,列出学号,姓名和出生年份。(视图名为view4,出生年份列名为出生年份)
- 用SQL命令创建视图
create view view4 (Sno,Sname,Sbirth)
as
select Sno,Sname,2019-Sage
from student
- 删掉建立的视图
drop view view4
5、 定义一个查询平均成绩大于85的学生的学号和平均成绩的视图。(视图名为view5)
- 用SQL命令创建视图
create view view5(Sno,avg)
as
select Sno,avg(Grade)
from SC
group by Sno//group by 分组
having(avg(Grade)>85)//having 筛选满足条件的组
- 删掉建立的视图
drop view view5
6、 定义一个选修“数据库”课程的学生学号、姓名、系及成绩的视图,并按成绩降序排列。(视图名为view6)
- 用SQL命令创建视图
create view view6
as
select student.Sno,Sname,Sdept,Grade
from course join Sc on course.cno=Sc.cno join student on SC.Sno=student.Sno
where (course.Sname='数据库')
order by SC.Grade desc
- 删掉建立的视图
drop view view6