create proc sp_test as select a.学生姓名,a.班级,b.成绩 from 学生情况 a join 学生成绩 b on a.学号=b.学号 join 学生课程 c on b.课程号=c.课程号 where c.课程名称='xxx' and b.分数 between xxx and xxx 多看看书,照着写应该不难的
CREATE PROCEDURE 学生课程信息表 @课程号 INT, @START INT, --开始的分数 @END INT --结束分数 AS SET NOCOUNT ONSELECT A.姓名,A.班级,B.分数 FROM 学生情况 A INNER JOIN 学生成绩表 B ON A.学生号=B.学生号 INNER JOIN 学生课程 C ON B.课程号=C.课程号 WHERE C.课程号= @课程号 AND B.分数 BETWEEN @START AND @END --分数在@START 和 @END
三表连接查询 create procedure p_text@课程名称 varchar(20), @分数大 int , @分数小 int as select a.姓名,b.班级,b.分数 from 学生情况表 a join 学生成绩表 b in a.学号=b.学生号 join 学生课程表 c join b.课程号=c.课程号 where c.课程名称=课程名称 and b.成绩 between 分数小 and 分数大
create proc p_test as select a.学生姓名,a.班级,b.成绩 from 学生情况 a join 学生成绩 b on a.学号=b.学号 join 学生课程 c on b.课程号=c.课程号 where c.课程名称='课程名' and b.分数 between 分数段1 and 分数段2 /*这个多写几个就会了,一起学习*/
代码我就不说了,给几个建议: 1、先写出查询,如果查询都可以了,直接在语句的上方加上create proc xxx (参数) as ,存储过程就完成了。 2、我刚学数据库的时候就要做这类的题目,楼主要反省一下是不是网络太发达了使得你已经不愿意思考问题了?如果没有搜索引擎、论坛之类的,你会怎么解决问题?初学者更要懂得思考,没有一个高手和大牛是通过直接问别人代码或者思路炼出来的。 3、你先把数据库书上的练习题和例子全部搞通了,再回过头来看看你的问题吧
as
select a.学生姓名,a.班级,b.成绩
from 学生情况 a
join 学生成绩 b on a.学号=b.学号
join 学生课程 c on b.课程号=c.课程号
where c.课程名称='xxx'
and b.分数 between xxx and xxx
多看看书,照着写应该不难的
CREATE PROCEDURE 学生课程信息表
@课程号 INT,
@START INT, --开始的分数
@END INT --结束分数
AS
SET NOCOUNT ONSELECT A.姓名,A.班级,B.分数
FROM 学生情况 A
INNER JOIN 学生成绩表 B ON A.学生号=B.学生号
INNER JOIN 学生课程 C ON B.课程号=C.课程号
WHERE C.课程号= @课程号
AND B.分数 BETWEEN @START AND @END --分数在@START 和 @END
create procedure p_text@课程名称 varchar(20),
@分数大 int ,
@分数小 int
as select a.姓名,b.班级,b.分数
from 学生情况表 a join 学生成绩表 b in a.学号=b.学生号
join 学生课程表 c join b.课程号=c.课程号
where c.课程名称=课程名称 and b.成绩 between 分数小 and 分数大
as
select a.学生姓名,a.班级,b.成绩
from 学生情况 a
join 学生成绩 b on a.学号=b.学号
join 学生课程 c on b.课程号=c.课程号
where c.课程名称='课程名'
and b.分数 between 分数段1 and 分数段2
/*这个多写几个就会了,一起学习*/
1、先写出查询,如果查询都可以了,直接在语句的上方加上create proc xxx (参数) as ,存储过程就完成了。
2、我刚学数据库的时候就要做这类的题目,楼主要反省一下是不是网络太发达了使得你已经不愿意思考问题了?如果没有搜索引擎、论坛之类的,你会怎么解决问题?初学者更要懂得思考,没有一个高手和大牛是通过直接问别人代码或者思路炼出来的。
3、你先把数据库书上的练习题和例子全部搞通了,再回过头来看看你的问题吧