用sql语句完成下面题目:
1.创建数据库db_Student,在db_Student中创建四张表:
学生表tb_Student,字段:SID(编号),SName(姓名),Sage(年龄),SSex(性别)
教师表tb_Teacher,字段:TID(编号),TName(姓名)
课程表tb_Course,字段:CID(编号),CName(名称),TID(教师编号)
成绩表tb_Score,字段:SID(编号),CID(课程编号),Score(成绩)
要求:分析添加约束,如:主键约束,外键约束等(15分)
2.给表添加一些数据。(10分)
3.完成下列查询:(30分)
① 查询姓李的老师有多少位。
② 查询c#课程的平均分。
③ 查询sql最高分的学生编号,学生姓名及分数。
④ 查询sql课程超平均分的学生姓名及分数。
⑤ 查询没有考sql的学生编号及姓名。
⑥ 查询没有学王老师课程的学生编号及姓名。
⑦ 查询课程表的第5到第10条记录,条件为编号不连续。写两种方法。
⑧ 查询每个学生的编号,姓名,课程名称,成绩,老师信息。
⑨ 查询c#考试成绩前三名的学生,包含并列的行。(可能查询的结果超过三行) ⑩ 查询c#课程比sql课程的考试分数高的学生编号及姓名。
4.写存储过程完成下列问题,并写出存储过程执行语句:(15分)
① 根据学生编号查询学生的各科成绩及所教课程的老师
② 根据教师编号,查询所教课程(教师编号,姓名,课程编号,课程名)。
③ 写一种分页的存储过程。
5.将第3 题的查询⑧⑨两题写成视图,然后执行查询视图。(10分)
6.创建存储过程,在存储过程里创建事务,执行删除课程表的行时,同时删除成绩表的相
应行。(10分)
7.创建触发器,实现删除教师表的行时,同时删除课程表的相应行。(首先删除相应表的约
束)(10分)