创建存储过程p_select,当任意输入课程名时,得到选修了该课程的学生名单。执行存储过程p_select,查询选修了数据库课程的学生名单。
时间: 2024-04-05 15:35:31 浏览: 18
好的,以下是创建存储过程p_select的SQL语句:
```
CREATE PROCEDURE p_select
@courseName NVARCHAR(50)
AS
BEGIN
SELECT s.studentName
FROM student s
INNER JOIN course_selection cs ON s.studentId = cs.studentId
INNER JOIN course c ON cs.courseId = c.courseId
WHERE c.courseName = @courseName
END
```
在上面的存储过程中,我们通过传入课程名参数@courseName,来查询选修了该课程的学生名单。该存储过程内部使用了 INNER JOIN 连接了 student、course_selection 和 course 三个表,通过 courseName 进行筛选,最终返回选修了该课程的学生名单。如果要查询选修了数据库课程的学生名单,可以执行以下 SQL 语句:
```
EXEC p_select '数据库'
```
其中,'数据库' 是要查询的课程名。
相关问题
用sql语句创建存储过程P_Co,输入的课程号查询该课程的名称与学时
下面是创建存储过程 P_Co 的 SQL 语句,实现输入课程号查询该课程的名称与学时的功能:
```
CREATE PROCEDURE P_Co
@CourseID INT
AS
BEGIN
SELECT CourseName, Period
FROM Course
WHERE CourseID = @CourseID;
END
```
在这个存储过程中,我们定义了一个参数 `@CourseID`,表示输入的课程号,然后使用 `SELECT` 语句查询 `Course` 表中对应的记录,并返回 `CourseName` 和 `Period` 两个字段的值。最后,我们将这个存储过程命名为 `P_Co`,以便在需要的时候直接调用即可。
创建存储过程p_getbycname,根据指定的课程名得到选课人数和及格人数并调用该存储过程
好的,以下是创建存储过程p_getbycname的SQL语句:
```
CREATE PROCEDURE p_getbycname(IN cname VARCHAR(255), OUT total INT, OUT passed INT)
BEGIN
SELECT COUNT(*) INTO total FROM course_selection WHERE course_name = cname;
SELECT COUNT(*) INTO passed FROM course_selection WHERE course_name = cname AND grade >= 60;
END
```
该存储过程接收一个课程名cname作为输入参数,并输出选课人数total和及格人数passed。
接下来是调用该存储过程的SQL语句:
```
CALL p_getbycname('计算机网络', @total, @passed);
SELECT @total AS total, @passed AS passed;
```
这里以计算机网络课程为例,调用存储过程并将返回值赋值给变量@total和@passed,最后输出这两个变量的值。注意,在调用存储过程之前需要先声明变量@total和@passed。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)