select练习

3.(1)Create view t1(sno,sname,sdept,cno,cname,credit)

 As

           Select s.sno ,s.sname,s.dept,c.cno,c.cname,c.credit

           From student s join course c on s.sno=c.sno

(2)Create view  t2(sno,sname,cname,grade)

As

       Select s.sno,s.sname,c.cname,c.grade

       From student s join course c on s.sno=c.cno

(3)Create view t3(sno,选课门数)

As

        Select s.sno ,count(*) 选课门数

From student s LEFT OUTER join sc on s.sno=sc.sno

        group by s.sno  

(4)Create view t4 (sno,总学分)

As

        Select sno , sum(credit)

        From sc

        Where grade>=60

        Group by sno

(5)Create view t5(sno,sname,VB考试成绩)

As

      Select top 1 with ties s.sno,s.sname ,sc.grade

      From student s join sc on s.sno=sc.sno join course c on c.cno=sc.cno

      Where s.dept=’计算机系’and cname=’vb’

      Order by sc.grade DESC

4.(1)Select sname,cname,grade

from  t2

where grade>=90

(2)Select  sno,选课门数 from t3 where 选课门数 >3

(3)Select  sno,选课门数

from t3 join student on t3.sno=student.so

where sdept=’计算机系’and 选课门数 >3

(4)Select sno,sname,sdept,总学分

From t4 join student on student.sno=t4.sno

Where 总学分 >10

(5)Select sname,sage,sdept,总学分

From t4 join student on student.sno=t4.sno

Where 总学分 >10 and age >=20

5.lter view t4 (sno,总学分,总的选课门数)

As

Select sno , sum(credit), count(*) 选课门数

    From sc join course on sc.cno=course.cno

   Where grade>=60

   Group by sno

6.Alter view t5(sno,sname,sdept,VB考试成绩)

As

Select top 1 with ties s.sno,s.sname ,s.sdept ,sc.grade

From student s join sc on s.sno=sc.sno join course c on c.cno=sc.cno

Where cname=’vb’

Order by sc.grade DESC

posted @ 2024-05-29 23:10  涨涨涨张  阅读(6)  评论(0编辑  收藏  举报