文章目录

  • 一、班级、学生、成绩表查询
  • 二、学生、课程、成绩、教师表查询
  • 三、学生成绩表(student_score) 查询
  • 四、成绩表(score)查询
  • 五、 学生表(student)查询
  • 六、 部门员工表(emp、dept)查询
  • 七、SQL数据库表名为guest,请简答

练习下常见的sql查询,总有你意想不到的收获!
对于一些复杂的查询,学会拆解,先查询部分数据,在逐步组合成完整查询,重点是学习实现的思路
不要背答案,学会理解

后面会给出练习的sql和答案,先自己尝试一下吧

一、班级、学生、成绩表查询

已知以下表结构

班级表(class)

编号 班级名称
id class_name
1 一班
2 二班
3 三班
4 四班
5 五班

学生表(student)

编号 学号 姓名 性别 所属班级
id stu_no stu_name stu_gender class_id
1 2020001 张三 1
2 2020002 李四 1
3 2020003 李丽 2
4 2020004 赵婷 3
5 2020005 王五 3

成绩表(score)

学生 语文 数学
stu_id chinese math
1 70 47
2 80 60
3 50 82
4 80 90

业务场景限制:

  1. 一个班级有多名学生,一名学生只属于一个班级
  2. 学生有可能没有成绩

题目:

  1. 查询所有学生的信息(学号,姓名,性别,班级名称)

  2. 查询所有人(包括没有成绩的学生)的课程分数(学号,姓名,性别,班级名称,语文分数,数学分数)

  3. 查询语文分数比“张三”高的学生(学号,姓名,性别,班级名称,语文分 数)

  4. 查询各科都合格(分数>=60)的学生(学号,姓名,语文分数,数学分数)

  5. 查询出所有班级的人数(若没有人,人数显示为0)

  6. 查询班级人数>=2的班级(班级编号,班级名称,人数)

二、学生、课程、成绩、教师表查询

有以下四个表,表名称及表结构如下:

student(sno,sname,sage,ssex) 学生表
course(cno,cname,tno) 课程表
sc(sno,cno,score) 成绩表
teacher(tno,tname) 教师表
  1. 查询课程1的成绩比课程2的成绩高的所有学生的信息

  2. 查询平均成绩大于60分的同学的学号和平均成绩

  3. 查询学过‘李四’老师所教所有课程的所有同学的学号,姓名

  4. 查询姓“李”得老师的个数

  5. 查询每门课程的选修人数(课程名称,学生数量)–存在没有人选的课程

  6. 删除“1002”同学的“1”课程的成绩

  7. 查询选修人数最多的课程(课程id,课程名称,学生数量)–考虑有多门课程都是选修最多的情况

三、学生成绩表(student_score) 查询

下面是学生成绩表(student_score)结构说明

字段名称 字段解释 字段类型 字段长度
student_id 学号 字符 8
student_name 姓名 字符 50
student_gender 性别 字符(男/女) 4
course_id 课程号 字符 5
score 分数 数值 3
ismakeup 当前考试是否为补考 字符(补考:1;非补考:0) 2

下面是课程表(course)说明

字段名称 字段解释 字段类型 字段长度 约束
course_id 课程号 字符 5 PK
course_name 课程名 字符 30 Not null
course_desc 课程介绍 字符 60

1、查找第一次考试后所有需要补考(小于60分)的学生姓名和这门课程的名称和成绩;

2、查询每个学生第一次考试后需要补考(小于60分)的课程平均分和科目数

3、查询所有参加了补考的学生的学生姓名,课程名称,补考成绩和非补考成绩;

四、成绩表(score)查询

有一张表score,三个字段名,姓名,课程,分数,数据如下,请写一条sql语句,查询出每门课程都大于等于80分的学生信息

name course score
张三 语文 81
张三 数学 75
李四 语文 76
王五 语文 81
王五 数学 100
王五 英语 90

五、 学生表(student)查询

有一张表student,包括字段id和name,请写一条sql语句,将表中name字段中重复的记录删除,只保留重复数据中的id最大的那一条数据。

id name
1 张三
2 张三
3 李四
4 王五
5 王五
6 王五

要求只留下:2 张三, 3 李四, 6 王五 这三条记录

六、 部门员工表(emp、dept)查询

emp:

empno int(员工编号) ,ename varchar(50)(员工姓名) ,job varchar(100) (工作岗位),mgr int (上级领导编号),hiredate date(雇佣日期),sal int(薪金),comm int(佣金) deptno int (部门编号)

提示:工资=薪金+佣金

dept表:

deptno int (部门编号) , dname 部门名称 loc 地点

  1. 列出在每个部门工作的员工数量,平均工资
  2. 列出所有员工的姓名,部门名称和工资
  3. 列出所有部门的详细信息和部门人数
  4. 列出各种工作的最低工资
  5. 列出各个部门的manager的最低薪金(若是manager,其job的值为manageer)
  6. 列出受雇日期早于其直接上级的所有员工
  7. 列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门
  8. 列出所有‘clerk’(办事员)岗位的姓名以及部门名称
  9. 列出最低薪金大于6500的各种工作
  10. 列出在研发部工作的员工的姓名,假定不知道销售部的部门编号

七、SQL数据库表名为guest,请简答

账号 消费 时间 金额 班次
accounts details date money class
s0001 房费 2020-01-01 280 001
s0001 酒水 2020-01-02 120 001
s0001 房费 2020-01-08 300 003
s0002 酒水 2020-01-29 50
s0003 房费 2020-01-31 180 002
s0004 房费 2020-02-01 230 001
s0005 酒水 2020-02-01 100
s0005 房费 2020-02-02 128 001
  1. 查询出房费都大于200的账号
  2. 查询出1月份每个账号酒水和房费的总金额
  3. 将不是房费的班次都更改为‘001’
  4. 查询出消费都大于100的账号

数据库脚本和答案来了
https://blog.csdn.net/shuai8624/article/details/116854237

培训机构常见sql查询练习题目,你会做吗?相关推荐

  1. 学生表/教师表/课程表/成绩表常见SQL查询

    1. 在表中插入符合主键 [sql]  /*成绩表*/  CREATE TABLE SC   (   Sid INT REFERENCES Student(Sid), /*学生学号*/  Cid IN ...

  2. sql查询前50条_您必须知道的前50条SQL查询

    sql查询前50条 In this article, we'll go over the most common SQL queries that you should know to be able ...

  3. 【PMP备考经验分享】从选择培训机构到5A通关,你需要做什么?

    上一篇文章写了关于 PMP 项目管理的基础知识,对 PMP 是什么.有什么用还不清楚的小伙伴可以翻翻上一篇文章~ 之前也有小伙伴在评论区@我让我分享备考经验,那今天就来跟大家说说我的备考故事吧,主要说 ...

  4. 找Java培训机构有哪些评判标准

    想要学习java技术,找java培训机构是大多数人的选择,目前市面上的java培训机构有很多,用什么评判标准来找到时候自己的机构呢?来看看下面小编为大家介绍的找Java培训机构有哪些评判标准? 找Ja ...

  5. 如何挑选靠谱的Java培训机构

    想要学习java技术的人越来越多,市面上出现的java培训机构也越来越多,很多人都想找一个靠谱的java培训机构,那么到底该如何挑选靠谱的Java培训机构呢?看看下面小编为大家做的详细介绍吧. 如何挑 ...

  6. 我是培训机构出身的程序员,不敢告诉任何人

    点击上方蓝色字体,选择"标星公众号" 优质文章,第一时间送达 关注公众号后台回复pay或mall获取实战项目资料+视频 本文来自微信公众号:InfoQ(ID:infoqchina) ...

  7. 我是培训机构出身的程序员,不敢告诉任何人!

    来源 | InfoQ 作者丨褚杏娟 1 谁都看不上培训机构的 "我是培训 + 外包出来的,确实有被甲方嫌弃过."2016 年从电子信息专业毕业的小右说起这个话题有些落寞. 公务员考 ...

  8. 万能角度尺做仪器校准有哪些步骤?校准机构常见流程规范

    万能角度尺是长度计量仪器中,应用比较广且较为常见的器具之一,在其校准中,校准机构也是需要严格按照相关规范文件来执行校准,尽管校准机构对其校准方法可以灵活变动,但是其大致校准流程基本上大同小异,那么万能 ...

  9. 我是培训机构出身的程序员,但不敢告诉任何人 !

    本文来自微信公众号:InfoQ(ID:infoqchina), 作者:褚杏娟 谁都看不上培训机构的 "我是培训 + 外包出来的,确实有被甲方嫌弃过".2016 年从电子信息专业毕业 ...

  10. 为什么培训机构出身的程序员,不敢告诉任何人?

    点击"开发者技术前线",选择"星标????" 在看|星标|留言,  真爱 回复"666",获取一份专属大礼包 来源 | InfoQ 作者丨褚 ...

最新文章

  1. SCI-HUB客户端(文献神器V6.0)——下载文献如此简单
  2. 消费者最关心的就是你的用户体验,以及保证产品品质,保证价格和服务
  3. 和平精英清明节服务器维修时间,和平精英体验服关服维护要多久 和平精英体验服什么时候开放...
  4. 阿里云飞天论文获国际架构顶会 ATC 2021最佳论文:全球仅三篇
  5. cursor用法java,Cursor的基本使用方法
  6. Redis面试常问3 如何实现分布式锁 记住Redis的原子性
  7. 【Flink】Flink 写入 AnalyticDB MySQL
  8. RHCE学习12LVS负载均衡详解
  9. python打包的exe反编译_python打包exe反编译源码
  10. 2倍研发费用=营销费用,小牛电动“智”在何方?
  11. 真彩色图像RGB,YIQ图像,HSV图像,YCbCr图像的相互转换(Matlab实现)
  12. 个人知识管理(PKM)全民推广系列
  13. 深度 | 英伟达Titan Xp出现后,如何为深度学习挑选合适的GPU?这里有份性价比指南
  14. 神经网络系列之四 -- 线性回归方法与原理
  15. laragon如何开启Mysql数据库访问 - 创建数据库 - 管理
  16. 华为虚拟化FusionCompute知识点总结
  17. 无延时直播与传统视频直播优势对比
  18. 查看电脑已连接无限的无限密码
  19. a view of a leaf Variable that requires grad is being used in an in-place operation.
  20. 正点原子STM32F103精英版学习笔记(二)

热门文章

  1. C语言错误类型中英文对照表
  2. 复数计算器 Java 正则表达式
  3. 【Python数据分析与处理 实训01】 ---- 菜品订单信息分析(数据了解及简单统计)
  4. MySQL Sending data 查询数据慢
  5. 单机安装ELK出现的yellow问题
  6. 献计《权力的游戏》珊莎•斯塔克
  7. 使用tushare获取美股月收盘价
  8. 2022-2028全球阻隔吹膜生产线行业调研及趋势分析报告
  9. mysql 统计请假天数_sql查询员工请假详情——请假天数跨月问题
  10. _GLIBCXX_USE_CXX11_ABI 定义不一致带来的宕机问题