SQL数据库存储过程 输入课程号 查询该课程不及格的学生学号姓名
时间: 2023-12-07 20:05:21 浏览: 40
好的,以下是一个简单的 SQL 存储过程,可以输入课程号,查询该课程不及格的学生学号和姓名:
```
CREATE PROCEDURE GetFailedStudentsByCourse
@CourseID VARCHAR(10)
AS
BEGIN
SELECT 学号, 姓名
FROM 学生
WHERE 学号 IN (
SELECT 学号
FROM 成绩
WHERE 课程号 = @CourseID AND 成绩 < 60
)
END
```
在这个存储过程中,我们使用了一个输入参数 `@CourseID`,它用于指定要查询的课程号。存储过程使用了与前面 SQL 查询语句类似的语法,但是在执行时需要传入参数。您可以在 SQL Server Management Studio 或其他数据库客户端中执行这个存储过程,并传入具体的课程号来查询该课程不及格的学生学号和姓名。
相关问题
SQL SEVER查询考试成绩有不及格的学生的学号,且结果按学号降序排列。
以下是一种 SQL Server 查询考试成绩有不及格的学生的学号,并按学号降序排列的方法:
```sql
SELECT student_id
FROM exam_results
WHERE score < 60
ORDER BY student_id DESC
```
假设您的考试成绩信息存储在一个名为“exam_results”的表中,该表包含“student_id”和“score”列。上述查询将从该表中选取所有分数低于60分的学生,并返回他们的“student_id”列值,并按学号降序排列。请注意,具体查询方式可能因您的数据库结构而异。
在 ad积数据库中创建存储过程 proc_ 1,要求买现如下功能:存在不及格情況的学生选课情況列表,其中包括学号、姓名、性别、课程号、课程名、成绩、系别等。调用 proC 1 存储过程,观察执行结果
在 ad积数据库中创建存储过程 proc_1,实现如下功能:
- 查询所有存在不及格情况的学生选课情况列表
- 返回的结果包括学号、姓名、性别、课程号、课程名、成绩、系别等信息
存储过程代码如下:
```sql
CREATE PROCEDURE proc_1
AS
BEGIN
SELECT
s.student_id AS 学号,
s.student_name AS 姓名,
s.student_gender AS 性别,
c.course_id AS 课程号,
c.course_name AS 课程名,
sc.score AS 成绩,
d.department_name AS 系别
FROM
student s
JOIN student_course sc ON s.student_id = sc.student_id
JOIN course c ON sc.course_id = c.course_id
JOIN department d ON s.department_id = d.department_id
WHERE
sc.score < 60
ORDER BY
s.student_id, c.course_id
END
```
执行存储过程:
```sql
EXEC proc_1;
```
执行结果将返回所有存在不及格情况的学生选课情况列表,包括学号、姓名、性别、课程号、课程名、成绩、系别等信息。