当前位置:   article > 正文

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

sql面试题

目录

一、简单查询

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. 查询姓“猴”的学生名单

  1. select *
  2. from student
  3. where sname like "猴%"

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

  1. select count(*)
  2. from teacher
  3. where tname like "孟%"

二、汇总分析

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

  1. select sum(score)
  2. from score
  3. where cid="0002"

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

  1. select count(distinct sid)
  2. from score
  3. where cid is not null and score is not null

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

  1. select cid, max(score),min(score)
  2. from score
  3. group by cid

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

  1. select cid,count(distinct sid)
  2. from score
  3. group by cid

5.查询男生、女生人数

  1. select ssex,count(sid)
  2. from student
  3. group by ssex

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

  1. select sid, avg(score) as average
  2. from score
  3. group by sid
  4. having average>60

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

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

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

  1. select sname, count(sid)
  2. from student
  3. group by sname
  4. having count(sid)>=2

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

  1. select distinct cid
  2. from score
  3. where score<60
  4. order by cid desc
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/890398
推荐阅读
相关标签
  

闽ICP备14008679号