通过练习SQL经典50题,提升SQL语言技能。题目数据来源于网络,已成功在Navicat上验证,如遇到问题,欢迎留言讨论。
1. 查询"01"课程成绩高于"02"课程的学生信息和对应分数。
2. 寻找同时选修"01"和"02"课程的学生情况。
3. 检索有"01"课程但可能无"02"课程,缺失时显示为null的记录。
4. 找出无"01"课程但有"02"课程的学生详情。
5. 识别平均成绩达到或超过60分的学生,包含学号、姓名和平均成绩。
6. 提供有成绩记录的学生信息。
7. 统计所有学生的学习详情,包括学号、姓名、选课总数和总成绩。
8. 识别有成绩的学生信息。
9. 确定姓"李"的教师数量。
10. 搜索学过"张三"老师课程的学生详细信息。
11. 获取未修全课程的学生资料。
12. 找出至少与"01"号同学有相同一门课程的学生信息。
13. 搜索与"01"号同学课程完全相同的其他同学。
14. 列出未修过"张三"老师课程的学生姓名。
15. 识别两门及以上不及格课程学生的学号、姓名和平均成绩。
16. 按"01"课程分数从低到高显示学生信息。
17. 以平均成绩降序排列,展示所有学生的成绩和平均成绩。
18. 分析各科成绩最高分、最低分、平均分,包括及格率等。
19. 按科目成绩排序,处理分数重复时的排名问题。
20. 计算学生的总成绩并进行排名,不保留名次空缺。
21. 统计各科分数段人数及其占比。
22. 识别各科成绩前三名的详细记录。
23. 统计每门课程的选修人数,按人数降序排列。
24. 提供只选修两门课程的学生学号和姓名。
25. 计算男生和女生的人数。
26. 查询名字中包含"风"字的学生信息。
27. 汇总同名学生列表并计数。
28. 识别1990年出生的学生名单。
29. 重复查询1990年出生的学生名单。
30. 按平均成绩排序,查询每门课程的平均成绩。
31. 提供平均成绩达到或超过85分的学生详细信息。
32. 搜索数学课程且分数低于60分的学生姓名和分数。
33. 包含未选课和成绩信息的全部学生课程情况。
34. 找出70分以上成绩的姓名、课程和分数。
35. 检查存在不及格课程的记录。
36. 查询课程01且成绩80分以上的学生学号和姓名。
37. 统计每门课程的学生人数。
38. 无成绩重复时,筛选"张三"老师课程成绩最高的学生信息和成绩。
39. 考虑成绩重复,查询"张三"老师课程中成绩最高者的信息。
40. 查找成绩相同的多门课程学生信息,包括学号、课程和成绩。
41. 识别每门课程成绩最好的前两名学生。
42. 统计选修超过5门课程的课程人数。
43. 筛选至少选修两门课程的学生学号。
44. 显示选修所有课程的学生详细信息。
45. 查询学生的年龄,仅按年份计算。
46. 根据出生日期计算年龄,特殊规则适用于当前月份。
47. 识别本周过生日的学生。
48. 寻找下周过生日的学生。
49. 提供本月过生日的学生列表。
50. 查询下个月过生日的学生。