用SQL语言完成以下问题1. 定义三个局部变量name,borth,score,并给它们赋值,然后输出变量的值。 2. 定义一个局部变量,把学生信息表中计算机系的学生人数赋给该变量,并输出。 3. 编写一段代码,要求完成:在教师信息表中,如果存在职称为副教授或教授的教师,就输出他们的姓名、学历、职称,否则输出“没有此条件的教师”信息。 4. 编写一段代码,要求完成:输出每个选课学生的学号、姓名与所选课的平均成绩,并根据该平均成绩输出其等级。 5. 编写一段代码,要求完成:求100之内的偶数之和,并输出。 6. 在数据库Student中创建一个标量值函数sx,该函数通过输入学生的出生日期来返回该学生的属相。
时间: 2024-02-23 18:00:24 浏览: 66
1.
```
DECLARE @name VARCHAR(20), @borth DATE, @score INT
SET @name = 'John'
SET @borth = '1990-01-01'
SET @score = 80
SELECT @name AS Name, @borth AS Birthday, @score AS Score
```
2.
```
DECLARE @count INT
SELECT @count = COUNT(*) FROM 学生信息表 WHERE 专业 = '计算机系'
SELECT @count AS ComputerScienceCount
```
3.
```
IF EXISTS (SELECT * FROM 教师信息表 WHERE 职称 = '副教授' OR 职称 = '教授')
BEGIN
SELECT 姓名, 学历, 职称 FROM 教师信息表 WHERE 职称 = '副教授' OR 职称 = '教授'
END
ELSE
BEGIN
PRINT '没有此条件的教师'
END
```
4.
```
SELECT 学号, 姓名, AVG(成绩) AS 平均成绩,
CASE
WHEN AVG(成绩) >= 90 THEN '优秀'
WHEN AVG(成绩) >= 80 THEN '良好'
WHEN AVG(成绩) >= 70 THEN '中等'
WHEN AVG(成绩) >= 60 THEN '及格'
ELSE '不及格'
END AS 等级
FROM 选课信息表
JOIN 学生信息表 ON 选课信息表.学号 = 学生信息表.学号
GROUP BY 学生信息表.学号, 学生信息表.姓名
```
5.
```
DECLARE @sum INT
SET @sum = 0
DECLARE @i INT
SET @i = 0
WHILE @i <= 100
BEGIN
SET @sum = @sum + @i
SET @i = @i + 2
END
SELECT @sum AS SumOfEvenNumbers
```
6.
```
CREATE FUNCTION sx (@birthday DATE)
RETURNS VARCHAR(10)
AS
BEGIN
DECLARE @shengxiao VARCHAR(10)
SELECT @shengxiao = CASE YEAR(@birthday) % 12
WHEN 0 THEN '猴'
WHEN 1 THEN '鸡'
WHEN 2 THEN '狗'
WHEN 3 THEN '猪'
WHEN 4 THEN '鼠'
WHEN 5 THEN '牛'
WHEN 6 THEN '虎'
WHEN 7 THEN '兔'
WHEN 8 THEN '龙'
WHEN 9 THEN '蛇'
WHEN 10 THEN '马'
WHEN 11 THEN '羊'
END
RETURN @shengxiao
END
```
使用方法:
```
SELECT sx('1990-01-01') AS 属相
```
阅读全文