常见的SQL面试题:经典50题(简单)

目录

一、简单查询

1. 查询姓“猴”的学生名单

2.查询姓“孟”老师的个数

二、汇总分析

1.查询课程编号为“0002”的总成绩

2.查询选了课程的学生人数

3.查询各科成绩最高和最低的分, 以如下的形式显示:课程号,最高分,最低分

4.查询每门课程被选修的学生数

5.查询男生、女生人数

6.查询平均成绩大于60分学生的学号和平均成绩

7.查询至少选修两门课程的学生学号

 8.查询同名同姓学生名单并统计同名人数

9.查询不及格的课程并按课程号从大到小排列

10.查询每门课程的平均成绩,结果按平均成绩升序排序,平均成绩相同时,按课程号降序排列

三、复杂查询

1.查询所有课程成绩小于60分学生的学号、姓名

2.查询没有学全所有课的学生的学号、姓名

3.查询出只选修了两门课程的全部学生的学号和姓名

4.日期函数

5.查询各科成绩前两名的记录(重要)

6.【行转列、列转行】问题(重要)

(1)行转列

(2)列转行 

(3)单列拆分转行


题目来源:知乎猴子 常见的SQL面试题:经典50题

一、简单查询

1. 查询姓“猴”的学生名单

select *
from student
where sname like "猴%"

2.查询姓“孟”老师的个数

select count(*)
from teacher
where tname like "孟%"

二、汇总分析

1.查询课程编号为“0002”的总成绩

select sum(score)
from score
where cid="0002"

2.查询选了课程的学生人数

select count(distinct sid)
from score
where cid is not null and score is not null

3.查询各科成绩最高和最低的分, 以如下的形式显示:课程号,最高分,最低分

select cid, max(score),min(score)
from score
group by cid

4.查询每门课程被选修的学生数

select cid,count(distinct sid)
from score
group by cid

5.查询男生、女生人数

select ssex,count(sid)
from student
group by ssex

6.查询平均成绩大于60分学生的学号和平均成绩

select sid, avg(score) as average
from score
group by sid
having average>60

7.查询至少选修两门课程的学生学号

select sid,count(distinct cid)
from score
group by sid
having count(distinct cid)>=2

 8.查询同名同姓学生名单并统计同名人数

select sname, count(sid)
from student
group by sname
having count(sid)>=2

9.查询不及格的课程并按课程号从大到小排列

select distinct cid
from score
where score<60
order by cid desc
  • 7
    点赞
  • 93
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值