对XSCJ数据库完成以下查询:
1.查询XS表中各个同学的姓名、专业名、总学分。
SELECT 姓名,专业名,总学分 FROM XS;
2.查询xs表中计算机系同学的学号,专业名和总学分,结果中各列的标题分别指定为为number、name 和mark。
SELECT 学号 AS number, 姓名 AS name, 总学分 AS mark FROM XS;
3.查询XS表中计算机系各同单的学号、姓名和总学分。对其总学分按以下规则进行替换:若总学分为空值,替换为“尚未选课”:姓名和总学分;若总学分小于50,替换为“不及格”;若总学分在50-52之间,替换为“合格”;若总学分大于52,替换为“优秀”。列标题更改为“等级”
SELECT 学号,姓名,总学分,
CASE
WHEN 总学分 IS NULL THEN '尚未选课'
WHEN 总学分 <50 THEN '不及格'
WHEN 总学分 BETWEEN 50 AND 52 THEN '合格'
WHEN 总学分 >52 THEN '优秀'
END AS 等级
FROM XS;
4.按120分计算成绩,显示XS_KC表中学号为081101的学生课程信息。
SELECT 课程号,1.2*成绩 AS 成绩 FROM XS_KC WHERE 学号='081101';
5.对XS表只选择专业名和总学分,消除结果集中的重复行。
SELECT DISTINCT 专业名,总学分 FROM XS;
6.求学生的总人数。
SELECT COUNT(姓名) FROM XS;
7.统计备注不为空的学生数目。
SELECT COUNT(姓名) FROM XS WHERE 备注 IS NOT NULL ;
8.统计总学分在50分以上的人数。
SELECT COUNT(姓名) FROM XS WHERE 总学分 >50 ;
9.求选修101课程的学生的最高分和最低分。
SELECT MAX(成绩),MIN(成绩) FROM XS_KC WHERE 课程号='101';
10.求学号081101的学生所学课程的总成绩。
SELECT SUM(成绩) FROM xs_kc WHERE 学号='081101';
11.求选修101课程的学生的平均成绩。
SELECT AVG(成绩) FROM xs_kc WHERE 课程号='101';
12.查询XS表中学号为081101的学生的情况。
SELECT * FROM xs_kc WHERE 学号='081101';
13.查询XS表中总学分大于50的学生的情况。
SELECT * FROM xs WHERE 总学分 >50;
14.查询XS表中备注为空的同学的情况。
SELECT * FROM xs WHERE 备注 IS NULL;
15.查询XS表中专业为计算机,性别为女(0)的同学的情况。
SELECT * FROM xs WHERE 专业名='计算机' AND 性别='0';
16.查询XS_ KC表中102和206课程中大于80分的同学的记录。
SELECT * FROM xs_kc WHERE 成绩>80 AND 课程号='102' OR 课程号='206' AND 成绩>80;
17.查询XS表中姓“王” 的学生学号、姓名及性别。
SELECT 学号,姓名,性别 FROM xs WHERE 姓名 LIKE '王%';
18.查询XS表中学号倒数第2个数字为0的学生学号、姓名及专业名。
SELECT 学号,姓名,专业名 FROM xs WHERE 学号 LIKE '%0_';
19.查询XS表中名字包含下划线的学生学号和姓名。
SELECT 学号,姓名 FROM xs WHERE 姓名 LIKE '%#_%' ESCAPE '#';
20.查询XS表中不在1989年出生的学生情况。
SELECT * FROM xs WHERE 出生时间 NOT LIKE '1989%';
21.查询XS表中专业名为“计算机”“通信工程”的学生的情况。
SELECT * FROM xs WHERE 专业名='计算机' OR 专业名='通信工程';
22.查询XS中总学分尚不定的学生情况。
SELECT * FROM xs WHERE 总学分 IS NULL;
23.查找所有学生选过的课程名和课程号。
SELECT DISTINCT kc.课程名,kc.课程号 FROM kc,xs_kc WHERE kc.课程号=xs_kc.课程号;
24.查找选修了206课程且成绩在80分以上的学生姓名及成绩。
SELECT xs.姓名,xs_kc.成绩 FROM xs INNER JOIN xs_kc ON xs.学号=xs_kc.学号 AND xs_kc.成绩 > 80 AND xs_kc.课程号=206;
25查找选修了“计算机基础”课程且成绩在80分以上的学生学号、姓名、课程名及成绩。
25.查找选修了“计算机基础”课程且成绩在80分以上的学生学号、姓名、课程名及成绩。
SELECT xs.学号,xs.姓名,kc.课程名,xs_kc.成绩 FROM xs,xs_kc INNER JOIN kc ON xs_kc.课程号=kc.课程号 AND kc.课程名='计算机基础' AND xs_kc.成绩 >80;
26.查找课程不同、成绩相同的学生的学号、课程号和成绩。
SELECT a.学号,a.课程号,b.课程号,a.成绩 FROM xs_kc a JOIN xs_kc b
ON a.成绩=b.成绩 and a.学号=b.学号 and a.课程号!=b.课程号;