首页 > 数据库 >经典数据库面试题

经典数据库面试题

时间:2022-10-28 13:56:29浏览次数:41  
标签:面试题 数据库 course score student 经典 where id select

 

 

题目和答案来源:https://www.cnblogs.com/pythonxiaohu/p/5749864.html

3、查询平均成绩大于60分的同学的学号和平均成绩;
思路:根据学生分组,使用avg获取平均值,通过having对avg进行筛选
select student_id,avg(num) from score group by student_id having avg(num) > 60

4、查询所有同学的学号、姓名、选课数、总成绩;
select score.student_id,sum(score.num),count(score.student_id),student.sname
from score left join student on score.student_id = student.sid
group by score.student_id

5、查询姓“李”的老师的个数;
select count(tid) from teacher where tname like '李%'

6、查询没学过“叶平”老师课的同学的学号、姓名;
思路:先查到“李平老师”老师教的所有课ID
获取选过课的所有学生ID
学生表中筛选
select * from student where sid not in (
select DISTINCT student_id from score where score.course_id in (
select cid from course left join teacher on course.teacher_id = teacher.tid where tname = '李平老师'
)
)

10、查询有课程成绩小于60分的同学的学号、姓名;
select sid,sname from student where sid in (
select distinct student_id from score where num < 60
)

18、查询各科成绩最高和最低的分:以如下形式显示:课程ID,最高分,最低分;
select course_id, max(num) as max_num, min(num) as min_num from score group by course_id;

22、查询每门课程被选修的学生数;
select course_id, count(1) from score group by course_id;

24、查询男生、女生的人数;
select * from
(select count(1) as man from student where gender='男') as A ,
(select count(1) as feman from student where gender='女') as B

25、查询姓“张”的学生名单;
select sname from student where sname like '张%';

26、查询同名同姓学生名单,并统计同名人数;
select sname,count(1) as count from student group by snam

29、查询课程名称为“数学”,且分数低于60的学生姓名和分数;
select student.sname,score.num from score
left join course on score.course_id = course.cid
left join student on score.student_id = student.sid
where score.num < 60 and course.cname = '生物'

30、查询课程编号为003且课程成绩在80分以上的学生的学号和姓名;
select * from score where score.student_id = 3 and score.num > 80

31、求选了课程的学生人数
select count(distinct student_id) from score

36、检索至少选修两门课程的学生学号;
select student_id from score group by student_id having count(student_id) > 1

40、检索“004”课程分数小于60,按分数降序排列的同学学号;
select student_id from score where num< 60 and course_id = 4 order by num desc;

41、删除“002”同学的“001”课程的成绩;
delete from score where course_id = 1 and student_id = 2

标签:面试题,数据库,course,score,student,经典,where,id,select
From: https://www.cnblogs.com/Nichs/p/16835818.html

相关文章

  • 一面高频vue面试题
    组件通信组件通信的方式如下:(1)props/$emit父组件通过props向子组件传递数据,子组件通过$emit和父组件通信1.父组件向子组件传值props只能是父组件向子组件进行......
  • 网络-高频面试题-2
    文章目录​​DNS域名解析器​​​​APR地址转换协议​​​​一次完整的HTTP请求过程:​​​​当前读,快照读和MVCC的关系​​​​数据库并发场景有三种,分别为:​​​​MVCC带......
  • Linux环境下mysql数据库备份操作说明
    如下:一、 编写数据库备份shell脚本1、登录服务器,进入mysql安装目录。例:cd/usr/local/mysql2、创建目录dbBakShell和dbbak,用于放置数据备份脚本及备份文件mkdir d......
  • 关系数据库标准语言sql(练习题)
    学生选课数据库中表结构如下:学生(学号,姓名,年龄,性别,所在系);课程(课程号,课程名,学分,先行课);选课(学号,课程号,成绩);在学生选课数据库中运用SQL语言实现下面的数据查询操作。求选修......
  • 剑指offer - 面试题6:重建二叉树
    packageChapter2;/***面试题6:重建二叉树*输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。*假设输入的前序遍历和中序遍历的结果中都不含重复的数字。*......
  • 剑指offer - 面试题10:二进制中1的个数
    packageChapter2;/***面试题10:二进制中1的个数*输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。**内存中的那个数(补码)1的个数*/publicclass_10_b......
  • 剑指offer - 面试题9:斐波那契数列
    packageChapter2;/***面试题9:菲波那切数列*输入一个整数n,请你输出斐波那契数列的第n项。*1、1、2、3、5、8、13、21、34、*//**变形题:*一只青蛙一次可以跳上1级......
  • 腾讯前端经典react面试题汇总
    概述一下React中的事件处理逻辑。为了解决跨浏览器兼容性问题,React会将浏览器原生事件(BrowserNativeEvent)封装为合成事件(SyntheticEvent)并传入设置的事件处理程序......
  • Oracle 数据库 日常操作函数
    --获取当天数据select*fromPOS_TRANMAINwheretrunc(SLDATE)=trunc(sysdate);--decode等同于casewhenthendecode(条件,值1,返回值1,值2,返回值2....)--to_char......
  • (Linux安装)Mysql5.7数据库
    下载地址:https://downloads.mysql.com/archives/community/ 1.解压tar-xvfmysql-5.7.26-linux-glibc2.12-x86_64.tar 2.再移动并重命名一下mvmysql-5.7.26-linu......