-+-、已知下表,+用SQL语句要求完成下列题目+学生表(学号,姓名,性别,年龄,系号
1个回答
关注
展开全部
假设表名为 student、course、score,字段分别为:
- student:学号(sid)、姓名(name)、性别(sex)、年龄(age)、所在系(dept)
- course:课号(cid)、课名(cname)、学分(credit)
- score:学号(sid)、课号(cid)、成绩(score)
1. 查询所有年在 20 岁以下(不含 20)的学生姓名和年龄
SELECT name, age FROM student WHERE age < 20;
2. 查询数学系或计算机系姓张的学生的信息
SELECT * FROM student WHERE dept IN ('数学系', '计算机系') AND name LIKE '张%';
3. 查询学号为 S1 的学生的总分和平均分
SELECT SUM(score), AVG(score) FROM score WHERE sid = 'S1';
咨询记录 · 回答于2023-12-23
-+-、已知下表,+用SQL语句要求完成下列题目+学生表(学号,姓名,性别,年龄,系号
二、已知下表,用SQL语句要求完成下列题目
学生(学号,姓名,性别,年龄,所在系)
课程(课号,课名,学分)
选课(学号,课号,成缋)
1. 查询所有年龄在20岁以下(不包含20)的学生姓名和年龄:
SQL 语句:
SELECT 姓名, 年龄 FROM 学生 WHERE 年龄 20;
2. 查询数学系或计算机系姓张的学生的信息:
SQL 语句:
SELECT * FROM 学生 WHERE 所在系 IN ('数学系', '计算机系') AND 姓 = '张';
3. 查询学号为S1的学生的总分和平均分:
SQL 语句:
SELECT SUM(成缋) AS 总分, AVG(成缋) AS 平均分 FROM 选课 WHERE 学号 = 'S1';
4. 删除物理系所有学生的选课记录:
SQL 语句:
DELETE FROM 选课 WHERE 学号 IN (SELECT 学号 FROM 学生 WHERE 所在系 = '物理系');
5. 查询所有年龄大于学生平均年龄的学生姓名:
SQL 语句:
SELECT 姓名 FROM 学生 WHERE 年龄 > (SELECT AVG(年龄) FROM 学生);
6. 查询成绩比"S1同学的所有成绩都高的同学的学号:
SQL 语句:
SELECT 学号 FROM 选课 WHERE 成缋 > (SELECT MAX(成缋) FROM 选课 WHERE 学号 = 'S1');
假设表名为 student、course、score,字段分别为:
student:学号(sid)、姓名(name)、性别(sex)、年龄(age)、所在系(dept)
course:课号(cid)、课名(cname)、学分(credit)
score:学号(sid)、课号(cid)、成绩(score)
1. 查询所有年在 20 岁以下(不含 20)的学生姓名和年龄
sql
SELECT name, age
FROM student
WHERE age < 20;
2. 查询数学系或计算机系姓张的学生的信息
sql
SELECT *
FROM student
WHERE dept IN ('数学系', '计算机系') AND name LIKE '张%';
3. 查询学号为 S1 的学生的总分和平均分
sql
SELECT SUM(score), AVG(score)
FROM score
WHERE sid = 'S1';
4. 删除物理系所有学生的选课记录
SQL DELETE FROM score WHERE sid IN (SELECT sid FROM student WHERE dept = '物理系');
5. 查询所有年龄大于学生平均年龄的学生姓名
SQL SELECT name FROM student WHERE age > (SELECT AVG(age) FROM student);
6. 查询成绩比"S1'同学的所有成绩都高的同学的学号
SQL SELECT sid FROM score WHERE score > (SELECT score FROM score WHERE sid = 'S1') GROUP BY sid HAVING COUNT(*) = (SELECT COUNT(*) FROM score WHERE sid = 'S1');
帮我一下
好的哦,不过亲亲请您把图片拍大一点呢
亲亲,我这边图片不能放大,放大了就看不清楚字了,所以辛苦您把图片拍大一点,或者是以文字描述问题向我提问呢