Use gk2016 --假设数据库名为gk2016 Select student.学号,姓名,课程名称,成绩= Case When 成绩 is null then '未考' When 成绩<60 then '不及格' When 成绩<70 and 成绩>=60 then'及格' When 成绩<80 and 成绩>=70 then'中等' When 成绩<90 and 成绩>=80 then'良好' When 成绩>=90 then '优秀' End From student inner join score on student.学号=score.学号 inner join course on course.课程编号=score.课程编号 order by student.学号,course.课程编号,score.成绩 desc该程序的功能
时间: 2024-03-18 09:44:48 浏览: 11
该程序的功能是查询数据库gk2016中学生的课程成绩,并根据成绩的高低将其分为不同的等级(未考、不及格、及格、中等、良好、优秀),然后按照学号、课程编号和成绩降序排列输出学生的学号、姓名、课程名称和成绩等级。其中,使用了三个表student、score和course,分别表示学生信息、学生选课信息和课程信息,并通过INNER JOIN连接这些表进行查询。
相关问题
BEGIN TRANSACTION USE MyDB001 --假设数据库名为gk2016 GO DECLARE @SCORE1 NUMERIC(4,1),@SCORE2 NUMERIC(4,1) SELECT @SCORE1=成绩 FROM SCORE WHERE 学号='2006091001' and 课程编号='04010101' SELECT @SCORE2=成绩 FROM SCORE WHERE 学号='2006091001' and 课程编号='04010102' UPDATE SCORE SET 成绩=@SCORE2 WHERE 学号='2006091001' and 课程编号='04010101' UPDATE SCORE SET 成绩=@SCORE1 WHERE 学号='2006091001' and 课程编号='04010102' COMMIT GO该程序功能
该程序的功能是将学号为"2006091001"的学生的"04010101"和"04010102"两门课的成绩进行交换。在程序中,先声明了两个变量@SCORE1和@SCORE2,分别用于存储这两门课程的成绩。然后通过SELECT语句从SCORE表中查询出这两门课的成绩,并将其分别赋值给变量@SCORE1和@SCORE2。接着,通过两条UPDATE语句,将这两门课的成绩进行了交换。最后,使用COMMIT语句提交事务,确保操作的原子性和一致性。
创建名为Student的数据库,并创建一张包含学号、班级、姓名、性别、年龄的数据表info。
可以使用以下 SQL 语句创建名为 Student 的数据库并创建一张包含学号、班级、姓名、性别、年龄的数据表 info:
```
CREATE DATABASE IF NOT EXISTS Student;
USE Student;
CREATE TABLE IF NOT EXISTS info (
id INT PRIMARY KEY AUTO_INCREMENT,
class VARCHAR(20) NOT NULL,
name VARCHAR(50) NOT NULL,
gender ENUM('Male', 'Female', 'Other') NOT NULL,
age INT NOT NULL
);
```
这个 SQL 语句创建了一个名为 Student 的数据库,并使用了这个数据库。然后创建了一个名为 info 的数据表,包含了学号(使用自增的 id 作为学号)、班级、姓名、性别和年龄五个字段。其中性别使用了 ENUM 类型,只能取 'Male', 'Female', 'Other' 三个值中的一个。每一条记录都需要填写这五个字段。