当前位置:首页 » 服务存储 » 创建存储过程查询学生人数
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

创建存储过程查询学生人数

发布时间: 2023-03-23 06:39:10

1. sql创建一个存储过程,根据指定的班级,得到该班级的人数的语句怎么写

参考如下:

delimiter$$
DropPROCEDUREIFEXISTSgetCount;
CREATEPROCEDUREgetCount(INv_classNameVARCHAR(30),OUTv_countINTEGER)
BEGIN
declareicountinteger;
selectcount(*)intoicountfrom班级表wherebanji=v_className
END$$
delimiter;

2. 写出完成下列要求的T-SQL语句

-创建学生表,学号为主键,性别默认值为‘男’,学号和姓名要求非空。
use 学生选课
create table 学生表
(学号 char(10) PRIMARY KEY NOT NULL,
姓名 varchar(20) NOT NULL,
性别 char(2) DEFAULT '男',
专业 varchar(50),
籍贯 varchar(40),
出生日期 datetime);

--向选课表插入数据('20180102’,’1002’,89)
INSERT INTO 选课表
VALUES ('20180102','1002',89);

--修改学生表,将“陈明”的出生日期改为“1998-2-12”
UPDATE 学生表
SET 出生日期='1998-2-12'
WHERE 姓名='陈明';

--查询选课成绩不及格的学生的姓名、课程名和成绩,按成绩降序排序。
select 姓名,课程名,分数 as 成绩
FROM 学生表 as a, 选课表 as b,课程表 as c
where a.学号=b.学号 AND b.课程号=c.课程号 AND
b.分数<60
ORDER BY 分数 DESC;

--查询学生表,分别统计男女生人数。
select 性别,count(*) 人数
from 学生表
GROUP BY 性别;

--创建视图“学生_view”,查询输出所有学生的姓名、性别、专业。
create view 学生_view
AS select 姓名,性别,专业
from 学生表;

--创建存储过程“选课统计_proc”,查询选课表,统计输出每门课程的所选学生人数及最高分,并执行该存储过程。
CREATE PROCEDURE 选课统计_proc
AS
BEGIN
SELECT 课程号,COUNT(学号) AS 所选学生人数,MAX(分数) AS 最高分
FROM 选课表
GROUP BY 课程号
END;
EXEC 选课统计_proc