diff --git a/实验十一.sql b/实验十一.sql new file mode 100644 index 0000000..0dce2a6 --- /dev/null +++ b/实验十一.sql @@ -0,0 +1,49 @@ +-- (1)对于学生管理数据库给出的学生表结构,定义一个名为female的变量,并在SELECT 语句中使用它找出女学生的编号和姓名 +DECLARE @female TABLE( +编号 VARCHAR(8), +姓名 VARCHAR(10) +); + +INSERT INTO @female(编号,姓名) +SELECT 学号,姓名 FROM 学生表; + +SELECT * FROM @female; + +-- (2)定义一个变量,用于获取编号为20231212的学生的生源地,并将该生源地的学生编号和姓名显示出来 +DECLARE @origin VARCHAR(6); + +SET @origin =( +SELECT 生源地 FROM 学生表 WHERE 学号='12' +); -- 这里没有编号是20231212的学生 + +SELECT 学号 AS 编号,姓名 FROM 学生表 +WHERE 生源地 = @origin; + +-- (3)使用CASE语句对教师表按所在院系进行分类 +SELECT * +,CASE 院系编号 + WHEN 1 THEN (SELECT 院系表.名称 FROM 院系表 WHERE 院系=1) + WHEN 2 THEN (SELECT 院系表.名称 FROM 院系表 WHERE 院系=2) + WHEN 3 THEN (SELECT 院系表.名称 FROM 院系表 WHERE 院系=3) + WHEN 4 THEN (SELECT 院系表.名称 FROM 院系表 WHERE 院系=4) + WHEN 5 THEN (SELECT 院系表.名称 FROM 院系表 WHERE 院系=5) + WHEN 6 THEN (SELECT 院系表.名称 FROM 院系表 WHERE 院系=6) + WHEN 7 THEN (SELECT 院系表.名称 FROM 院系表 WHERE 院系=7) + WHEN 8 THEN (SELECT 院系表.名称 FROM 院系表 WHERE 院系=8) + WHEN 9 THEN (SELECT 院系表.名称 FROM 院系表 WHERE 院系=9) + WHEN 10 THEN (SELECT 院系表.名称 FROM 院系表 WHERE 院系=10) + ELSE '未知' +END AS 所在院系 + +FROM 教师表; + +-- (4)使用循环控制语句计算10! +DECLARE @i INT = 1; +DECLARE @j INT = 1; + +WHILE @i<10 BEGIN + SET @i = @i+1 + SET @j = @j*@i; +END + +SELECT @j; \ No newline at end of file