Files
database-system-homework/实验十一.sql
T
2024-11-13 00:49:07 +08:00

49 lines
1.6 KiB
Transact-SQL

-- (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;