使用sql语言完成(1)在students数据库中创建一个内联表值函数ncourse,返回指定系的学号、姓名、选修课程名和成绩,并用相关数据进行测试。 (2)设计一个存储过程,采用模糊查询方式查找选修指定课程名的学生,输出学号、姓名、学院和课程名,并用相关数据进行测试。
时间: 2024-03-17 19:40:17 浏览: 61
创建student、course、sc表代码.sql
1. 在students数据库中创建一个内联表值函数ncourse,返回指定系的学号、姓名、选修课程名和成绩,并用相关数据进行测试。
```sql
-- 创建内联表值函数ncourse
CREATE FUNCTION ncourse(@deptName varchar(20))
RETURNS TABLE
AS
RETURN
SELECT s.sid, s.sname, c.cname, c.score
FROM student s
JOIN sc ON s.sid = sc.sid
JOIN course c ON sc.cno = c.cno
JOIN department d ON s.dept = d.dept
WHERE d.dname = @deptName
-- 测试
SELECT * FROM ncourse('计算机科学与技术')
```
2. 设计一个存储过程,采用模糊查询方式查找选修指定课程名的学生,输出学号、姓名、学院和课程名,并用相关数据进行测试。
```sql
-- 创建存储过程findStudentByCname
CREATE PROCEDURE findStudentByCname
@cname varchar(20)
AS
BEGIN
SELECT s.sid, s.sname, d.dname, c.cname
FROM student s
JOIN sc ON s.sid = sc.sid
JOIN course c ON sc.cno = c.cno
JOIN department d ON s.dept = d.dept
WHERE c.cname LIKE '%' + @cname + '%'
END
-- 测试
EXEC findStudentByCname '数据库'
```
阅读全文