写T-SQL语句创建一个存储过程,该存储过获取所有计算机应用专业的总学分大于48分的学生名单及总学分
时间: 2024-11-26 19:22:36 浏览: 0
在SQL Server中,你可以使用以下T-SQL语句来创建一个存储过程,这个存储过程会查询学生表,找出所有计算机应用专业且总学分大于48分的学生信息。假设我们有两个表:`Students` 和 `Courses`,其中 `Students` 表包含学生的ID、姓名、专业和总学分,而 `Courses` 表记录了课程信息,包括所属专业。
```sql
CREATE PROCEDURE GetCompSciStudentsWithTotalCreditsGreaterThan48
AS
BEGIN
SELECT s.StudentName, s.TotalCredits
FROM Students s
INNER JOIN Courses c ON s.CourseID = c.CourseID
WHERE c.Specialty = '计算机应用'
AND s.TotalCredits > 48;
END;
```
在这个存储过程中,`INNER JOIN` 用于连接 `Students` 和 `Courses` 表,`WHERE` 子句则筛选出专业是计算机应用且总学分超过48的学生。结果将返回学生姓名和他们的总学分。
相关问题
写T-SQL语句创建一个存储过程,该存储过获取所有计算机应用专业的总学分大于48分的学生名单及总学分。简单一点
创建一个T-SQL存储过程来获取满足条件的学生信息,可以使用以下语法:
```sql
CREATE PROCEDURE GetStudentsWithHighCredits
AS
BEGIN
SELECT
students.name AS StudentName,
SUM(courses.credit) AS TotalCredits
FROM
students
INNER JOIN
student_courses ON students.id = student_courses.student_id
INNER JOIN
courses ON student_courses.course_id = courses.id
WHERE
students.major = '计算机应用'
AND courses.credit > 48
GROUP BY
students.id, students.name
END;
```
这个存储过程假设我们有`students`表,记录学生的信息,包括姓名(name)和专业(major),以及`student_courses`表连接了学生的ID和课程ID,还有`courses`表保存每个课程的学分(credit)。
阅读全文