SQL查询每门选修课成绩都不低于85分的学生的学号和姓名
时间: 2023-04-02 09:04:02 浏览: 233
可以回答这个问题。SQL查询语句如下:
SELECT 学号, 姓名
FROM 学生
WHERE NOT EXISTS (
SELECT *
FROM 选修课
WHERE 学生.学号 = 选修课.学号 AND 成绩 < 85
)
相关问题
(1)查询选修课程号为C01,并且成绩及格的学生学号、姓名和系别名称。 (2)查询计算机学院选修C03课程的学生姓名、课程名称以及这门课程的成绩。(3)在Reports表中查询至少选修课了程号为C01和C02的学生学号和姓名。(4)查询既没有选修课程号C01,也没有选修课程号C02的学生的学号和姓名。(5) 查询每个同学基本信息及其选修课程的情况。(6)查询每个学生及其选修课程的情况(若某一个学生没有选课,只输出学生的基本情况信息,其选课信息为空值)。 (7)查询选修了课程名为“GIS开发”的学生学号和姓名。(8) 查询没有选修C02课程的学生学号和姓名。 (9)查询所有课程成绩均大于90分的学生学号和姓名。(10)查询选修了4门及以上课程的学生的学号、姓名和选修课程数。(11) 查询选修全部课程的学生姓名,相当于查询这样的学生,没有一门课程是他不选的。 (12) 查询平均成绩大于等于黄河同学的平均成绩的学生的学号、姓名和平均成绩。(13)查询每门课程获得最高分的同学的学号、姓名、课程名称和成绩,并按照最高成绩从高到低进行排序。
很抱歉,我是一个语言模型AI,无法查询数据库。但是我可以为您提供一些SQL语句示例,您可以根据需要自行修改:
1. SELECT student.id, student.name, department.name
FROM student, department, score, course
WHERE student.id = score.id AND score.course_id = course.id AND
course.id = 'C01' AND score.score >= 60 AND student.dept_id = department.id;
2. SELECT student.name, course.name, score.score
FROM student, course, score
WHERE student.id = score.id AND score.course_id = course.id AND
course.id = 'C03' AND student.dept_id = '计算机学院';
3. SELECT DISTINCT student.id, student.name
FROM student, score
WHERE student.id = score.id AND
score.course_id IN ('C01', 'C02');
4. SELECT student.id, student.name
FROM student
WHERE student.id NOT IN
(SELECT id FROM score WHERE course_id IN ('C01', 'C02'));
5. SELECT student.id, student.name, department.name, course.name, score.score
FROM student
LEFT JOIN score ON student.id = score.id
LEFT JOIN course ON score.course_id = course.id
LEFT JOIN department ON student.dept_id = department.id;
6. SELECT student.id, student.name, department.name, course.name, score.score
FROM student
LEFT JOIN score ON student.id = score.id
LEFT JOIN course ON score.course_id = course.id
LEFT JOIN department ON student.dept_id = department.id
GROUP BY student.id;
7. SELECT student.id, student.name
FROM student, score, course
WHERE student.id = score.id AND score.course_id = course.id AND
course.name = 'GIS开发';
8. SELECT student.id, student.name
FROM student
WHERE student.id NOT IN
(SELECT id FROM score WHERE course_id = 'C02');
9. SELECT student.id, student.name
FROM student, score
WHERE student.id = score.id
GROUP BY student.id
HAVING MIN(score.score) > 90;
10. SELECT student.id, student.name, COUNT(*) AS course_num
FROM student, score
WHERE student.id = score.id
GROUP BY student.id
HAVING course_num >= 4;
11. SELECT student.name
FROM student, course
WHERE NOT EXISTS
(SELECT * FROM course
WHERE NOT EXISTS
(SELECT * FROM score
WHERE score.course_id = course.id AND score.id = student.id));
12. SELECT s1.id, s1.name, AVG(s1.score)
FROM student s1, student s2, score sc1, score sc2
WHERE s1.id = sc1.id AND s2.id = sc2.id AND
s2.name = '黄河' AND AVG(sc2.score) <= AVG(sc1.score)
GROUP BY s1.id
HAVING AVG(sc1.score) >= AVG(sc2.score);
13. SELECT score.id, student.name, course.name, score.score
FROM score, student, course
WHERE score.id = student.id AND score.course_id = course.id AND
score.score = (SELECT MAX(score.score) FROM score WHERE score.course_id = course.id)
ORDER BY score.score DESC;
1. 查询全体学生的学号和姓名 2. 查询全体学生的详细记录 3. 查询所有选修过课程的学生学号 4. 查询考试有不及格的学生学号 5. 查询考试有不及格的学生学号 查询不是信息系(IS)、计算机系(CS)的学生性别、年龄、系别 6. 查询选修了四号课的学生学号和成绩,结果按成绩降序排列 7. 查询每个课程号和相应的选课人数 8. 查询计算机系的学生姓名,年龄,系别 9. 查询年龄18-20岁的学生学号,姓名,年龄,系别 10. 查询姓刘的学生情况 11. 查询既选修1号课程,又选修2号课程的学生学号 12. 查询学生的姓名和出生年份 13. 查询没有成绩的学生的学号和课程号 14. 查询总成绩大于200分的学生学号 15. 查询每门课程不及格学生人数 16. 查询不及格课程超过三门的学生学号 17. 查询年龄在10到19岁之间的学生信息 18. 查询全体学生情况,按所在系升序排列 19. 查询选了1号课程的学生平均成绩 20. 查询选了3号课程的学生最高分 21. 查询每个同学的总成绩 用MySQL实现
很抱歉,我是一个语言模型AI,无法直接访问数据库。但我可以告诉你一些SQL语句,供你参考:
1. 查询全体学生的学号和姓名
SELECT 学号, 姓名 FROM 学生表;
2. 查询全体学生的详细记录
SELECT * FROM 学生表;
3. 查询所有选修过课程的学生学号
SELECT DISTINCT 学号 FROM 选课表;
4. 查询考试有不及格的学生学号
SELECT DISTINCT 学号 FROM 成绩表 WHERE 成绩 < 60;
5. 查询不是信息系(IS)、计算机系(CS)的学生性别、年龄、系别
SELECT 性别, 年龄, 系别 FROM 学生表 WHERE 系别 NOT IN ('IS', 'CS');
6. 查询选修了四号课的学生学号和成绩,结果按成绩降序排列
SELECT 学号, 成绩 FROM 成绩表 WHERE 课程号 = '4' ORDER BY 成绩 DESC;
7. 查询每个课程号和相应的选课人数
SELECT 课程号, COUNT(*) AS 选课人数 FROM 选课表 GROUP BY 课程号;
8. 查询计算机系的学生姓名,年龄,系别
SELECT 姓名, 年龄, 系别 FROM 学生表 WHERE 系别 = 'CS';
9. 查询年龄18-20岁的学生学号,姓名,年龄,系别
SELECT 学号, 姓名, 年龄, 系别 FROM 学生表 WHERE 年龄 BETWEEN 18 AND 20;
10. 查询姓刘的学生情况
SELECT * FROM 学生表 WHERE 姓名 LIKE '刘%';
11. 查询既选修1号课程,又选修2号课程的学生学号
SELECT 学号 FROM 选课表 WHERE 课程号 IN ('1', '2') GROUP BY 学号 HAVING COUNT(DISTINCT 课程号) = 2;
12. 查询学生的姓名和出生年份
SELECT 姓名, YEAR(出生日期) AS 出生年份 FROM 学生表;
13. 查询没有成绩的学生的学号和课程号
SELECT 学号, 课程号 FROM 选课表 WHERE NOT EXISTS (SELECT * FROM 成绩表 WHERE 选课表.学号 = 成绩表.学号 AND 选课表.课程号 = 成绩表.课程号);
14. 查询总成绩大于200分的学生学号
SELECT 学号 FROM 成绩表 GROUP BY 学号 HAVING SUM(成绩) > 200;
15. 查询每门课程不及格学生人数
SELECT 课程号, COUNT(*) AS 不及格人数 FROM 成绩表 WHERE 成绩 < 60 GROUP BY 课程号;
16. 查询不及格课程超过三门的学生学号
SELECT 学号 FROM 成绩表 WHERE 成绩 < 60 GROUP BY 学号 HAVING COUNT(*) > 3;
17. 查询年龄在10到19岁之间的学生信息
SELECT * FROM 学生表 WHERE 年龄 BETWEEN 10 AND 19;
18. 查询全体学生情况,按所在系升序排列
SELECT * FROM 学生表 ORDER BY 系别 ASC;
19. 查询选了1号课程的学生平均成绩
SELECT AVG(成绩) AS 平均成绩 FROM 成绩表 WHERE 课程号 = '1';
20. 查询选了3号课程的学生最高分
SELECT MAX(成绩) AS 最高分 FROM 成绩表 WHERE 课程号 = '3';
21. 查询每个同学的总成绩
SELECT 学号, SUM(成绩) AS 总成绩 FROM 成绩表 GROUP BY 学号;
阅读全文