00 04数据库及SQL/MySQL基础之单表查询练习
程序员文章站
2022-05-28 11:09:41
...
1、查询出选修课程号为30030320的所有学生信息。
SELECT DISTINCT * FROM test_total WHERE course_code='30030320';
2、查询数理学院所有学生的学号、姓名、专业及班级。
SELECT DISTINCT student_id,student_name,student_major,student_class
FROM test_total
WHERE student_faculty='数理学院'
3、查询选择选修课任意一门学分介于1.0和2.0之间的人文学院的2017级学生的学号、姓名。
SELECT DISTINCT student_id,student_name
FROM test_total
WHERE (student_faculty='人文学院') AND (course_credit BETWEEN 1.0 AND 2.0) AND (student_grade=2017)
4、查询信息科学与工程学院2017级的男生和数理学院2018级的男生的学号、姓名。
SELECT DISTINCT student_id,student_name
FROM test_total
WHERE (student_faculty='信息科学与工程学院' AND student_sex='男' AND student_grade=2017) OR (student_faculty='数理学院' AND student_sex='男' AND student_grade=2018)
5、查询信息科学与工程学院2017级的男生和数理学院2018级的男生,还有既不是2017级也不是2018级但选修的任意一门课程的学分大于2.0的所有学生的学号、姓名。
SELECT DISTINCT student_id,student_name
FROM test_total
WHERE (student_faculty='信息科学与工程学院' AND student_sex='男' AND student_grade=2017) OR
(student_faculty='数理学院' AND student_sex='男' AND student_grade=2018) OR
(student_grade NOT IN (2017,2018) AND course_credit > 2.0)
6、查询姓名由三个字组成的学生的学号,姓名。
SELECT DISTINCT student_id,student_name
FROM test_total
WHERE student_name LIKE '___'
7、查询2018年选课的学生的学号,姓名。
SELECT DISTINCT student_id,student_name
FROM test_total
WHERE YEAR(selection_time)=2018
8、查询数理学院2018级所有学生的学号、姓名、班级,用学号升序排列。
SELECT DISTINCT student_id,student_name,student_class
FROM test_total
WHERE student_faculty='数理学院' AND student_grade=2018
ORDER BY student_id ASC
9、查询人文学院所有学生的学号、姓名、性别、年级,用年级降序排列,如果年级相同使用学号升序排序。
SELECT DISTINCT student_id,student_name,student_sex,student_grade
FROM test_total
WHERE student_faculty='人文学院'
ORDER BY student_grade DESC, student_id ASC
10、查询每个学院选课的平均学分。
SELECT student_faculty, SUM(course_credit)/COUNT(DISTINCT student_id)
FROM test_total
GROUP BY student_faculty
11、查询每个学院的学生数量。
SELECT DISTINCT student_faculty, COUNT(DISTINCT student_id)
FROM test_total
GROUP BY student_faculty
12、查询每个学院的选修课总学分中最高选修课学分、最低选修课学分。
SELECT student_faculty, MAX(A.total_credit), MIN(A.total_credit)
FROM (SELECT student_faculty,student_id,SUM(course_credit) total_credit
FROM test_total
GROUP BY student_id) A
GROUP BY student_faculty
上一篇: Drools规则执行顺序
下一篇: 异常日志的7条规则(重要)