SQL经典题型

  1. 查询不在表里的数据,一张学生表,一张学生的选课表,要求查出没有选课的学生?
sql 复制代码
select students.student_name from students left join course_selection on students.student_id=course_selection.student_id where course_selection.student_id is null
  1. 查找第N高的数据,查找课程编号为"01"的成绩第三高的学生,如果不存在则返回null
sql 复制代码
select IFNULL((select scores.score from scores order by scores.score desc limit 1 offset 2) ,null) as "第三高的成绩"
  1. 分组排序,按成绩从大到小排序如80,80,76,70,50 对应的排序为1,1,3,4,5
sql 复制代码
select  *,RANK() over(ORDER BY scores.score DESC) as "排名" from scores


  1. 连续出现N次问题,学生连续3个学号相邻的学生出现年龄相同的年龄
sql 复制代码
select distinct a.age from students a,students b,students c where a.student_id=b.student_id+1 and b.student_id=c.student_id+1 and a.age=b.age and b.age=c.age 
相关推荐
SimonKing10 分钟前
OpenCode AI辅助编程,不一样的编程思路,不写一行代码
java·后端·程序员
FastBean18 分钟前
Jackson View Extension Spring Boot Starter
java·后端
Seven971 小时前
剑指offer-79、最⻓不含重复字符的⼦字符串
java
皮皮林55111 小时前
Java性能调优黑科技!1行代码实现毫秒级耗时追踪,效率飙升300%!
java
冰_河11 小时前
QPS从300到3100:我靠一行代码让接口性能暴涨10倍,系统性能原地起飞!!
java·后端·性能优化
桦说编程14 小时前
从 ForkJoinPool 的 Compensate 看并发框架的线程补偿思想
java·后端·源码阅读
躺平大鹅16 小时前
Java面向对象入门(类与对象,新手秒懂)
java
初次攀爬者16 小时前
RocketMQ在Spring Boot上的基础使用
java·spring boot·rocketmq
花花无缺17 小时前
搞懂@Autowired 与@Resuorce
java·spring boot·后端