基于“教学数据库jiaoxuedb”,创建下面存储过程:利用课程名查询选修该课程的学生姓名、系别、成绩,并给出“程序设计”课程的查询信息
时间: 2023-08-16 09:08:07 浏览: 93
好的,以下是存储过程的代码:
```
CREATE PROCEDURE QueryCourseStudents
@CourseName nvarchar(50)
AS
BEGIN
SELECT Student.Name, Student.Department, Score.Score
FROM Course
INNER JOIN Score ON Course.CourseID = Score.CourseID
INNER JOIN Student ON Score.StudentID = Student.StudentID
WHERE Course.Name = @CourseName
END
```
这个存储过程可以根据输入的课程名查询选修该课程的学生姓名、系别、成绩。在存储过程中,我们使用了 INNER JOIN 来连接 Course, Score 和 Student 这三张表,并使用 WHERE 来指定查询的课程名。如果要查询“程序设计”课程的信息,只需要执行以下语句:
```
EXEC QueryCourseStudents '程序设计'
```
这样就可以查询出选修“程序设计”课程的学生姓名、系别、成绩了。
相关问题
用SQLserver创建一个存储过程,利用学生名查询该生选修的课程名,成绩和任课教师名
下面是一个示例存储过程,用于根据学生姓名查询他选修的课程名、成绩和任课教师名:
```
CREATE PROCEDURE GetStudentCourses
@StudentName varchar(50)
AS
BEGIN
SELECT c.CourseName, s.Grade, t.TeacherName
FROM Courses c
INNER JOIN Enrollments e ON c.CourseID = e.CourseID
INNER JOIN Students s ON e.StudentID = s.StudentID
INNER JOIN Teachers t ON c.TeacherID = t.TeacherID
WHERE s.StudentName = @StudentName
END
```
该存储过程使用 INNER JOIN 语句连接了 Courses、Enrollments、Students 和 Teachers 表,以获取所需的信息。其中 @StudentName 是输入参数,用于指定要查询的学生姓名。在存储过程中,我们可以使用该参数来筛选出与学生姓名匹配的记录,并返回结果集。
创建一存储过程:根据学生学号查询学生所选修的课程及其成绩,学号作为参数输入。
好的,以下是根据学生学号查询学生所选修的课程及其成绩的存储过程代码:
```
CREATE PROCEDURE getStudentCourses (
IN studentId INT
)
BEGIN
SELECT course_name, score
FROM student_courses
WHERE student_id = studentId;
END;
```
这个存储过程接收一个参数 `studentId`,然后从 `student_courses` 表中查询学号为 `studentId` 的学生所选修的课程及其成绩。你可以通过调用这个存储过程并传入学生的学号来获取结果。