创建带参数的存储过程,内容为选修某门课程的学生,包括学号、姓名、性别、系名、课程名称、成绩信息、学分。执行此存储过程,查询选修“计算机文化基础”课程的学生的情
时间: 2024-09-24 11:03:40 浏览: 55
在创建一个带参数的存储过程来查询特定课程的学生信息时,你可以按照以下步骤操作,假设我们是在SQL Server环境中:
```sql
CREATE PROCEDURE GetStudentsByCourse
@courseName NVARCHAR(50) -- 存储课程名称作为输入参数
AS
BEGIN
SELECT S.StudentID, S.StudentName, S.Gender, D.DepartmentName, C.CourseName, SC.Score, C.Credits
FROM Students S
INNER JOIN Departments D ON S.DepartmentID = D.DepartmentID
INNER JOIN Courses C ON C.CourseID = S.CourseID
INNER JOIN StudentCourses SC ON S.StudentID = SC.StudentID
WHERE C.CourseName = @courseName;
END;
```
这个存储过程名为`GetStudentsByCourse`,它接受一个参数`@courseName`,用于指定要查询的课程名称。通过JOIN操作,从学生表(Students)、部门表(Departments)、课程表(Courses)以及学生选课表(StudentCourses)中筛选出选修了指定课程的学生信息,包括学号、姓名、性别、系名、课程名称、成绩以及学分。
要执行这个存储过程并查询“计算机文化基础”的学生,可以像这样调用:
```sql
EXEC GetStudentsByCourse '计算机文化基础';
```
阅读全文