问答题
某数据库中有关系Student(Sno,Sname,Ssex,Sage,Sdept),各属性分别表示学号,姓名,性别,年龄以及所在的系;Course(Cno,Cname,Ccredit)属性分别表示课程号,课程名,学分;SC(Sno, Cno,Grade)为学生选课表,各属性分别表示为学号,课程号和分数;完成下列的SQL语句:
问答题
①查询其他系中比计算机科学(CS)某一学生年龄小的学生姓名和年龄。
【正确答案】
【答案解析】①SELECT Sname,Sage FROM Student WHERE Sage<ANY(SELECT Sage FROM Student WHERE Sdept='CS') AND Sdept<>'CS'
问答题
②建立信息系(IS)选修了1号课程的学生的视图IS_S1
【正确答案】
【答案解析】②CREATE VIEW IS_S1(Sno,Sname,Grade) AS SELECT Student Sno,Sname,Grade FROM Student,SC WHERE Sdept='IS'AND Student.Sno=SC Sno AND SC.Cno='1';
问答题
③定义一个AFTER的行级触发器Print_f,当往成绩表(SC)中插入的成绩小于60就打印不及格
【正确答案】
【答案解析】③CREATE TRIGGER Print_f AFTER INSERT ON Student FOR EACH ROW AS BEGIN IF(new.Grade<60) THEN PRINT'不及格' END IF END; [解析] 创建视图用CTREATE VIEW,而创建触发器是用CREATE TRIGGER,触发器分为行级触发器和语句级触发器,FOR EACH ROW是行级触发器。