本题目要求编写SQL语句,检索出每个班级中分数最低的同学id,姓名,分数,班级名称a111

表结构:

create table tb_student (id int not null primary key,name varchar(32)
);
create table tb_score (stu_id int,score int
);
create table tb_class (id int not null,name varchar(32)
);
create table tb_student_class
(id       int null,class_id int null,stu_id   int null
);

表样例

tb_student表:

id name
30 ddd
49 ccc
51 aaa
52 bbb

tb_score表:

stu_id score
30 99
49 79
51 80
52 59

tb_class表:

id name
1 class-1
2 class-2
3 class-1
4 class-2

tb_student_class

id stu_id class_id
1 30 1
2 49 2
3 51 1
4 52 2

输出样例:

stu_id stu_name class_name score
51 aaa class-1 80
52 bbb class-2 59

sql版本高的可以使用ROW_NUMBER() over (PARTITION BY tb_class.name ORDER BY tb_score.score ASC)as rn,tb_score.score达到分组排序的目的,但是PTA上的sql应该是5.7,只能用GROUP BY和ORDER BY

SELECTANY_VALUE(stu_id) as stu_id    ,         --any_value()抑制ONLY_FULL_GROUP_BY值被拒绝ANY_VALUE(stu_name) as stu_name  ,     ANY_VALUE(class_name) as class_name   , ANY_VALUE(score) as score
FROM
(
SELECTtb_score.stu_id,tb_student.name AS stu_name,tb_class.name AS class_name,tb_score.score
FROMtb_scoreINNER JOIN tb_student_class ON tb_score.stu_id = tb_student_class.stu_idINNER JOIN tb_class ON tb_student_class.class_id = tb_class.idINNER JOIN tb_student ON tb_score.stu_id = tb_student.id
ORDER BYtb_class.name ASC,tb_score.score ASC
LIMIT 100        --不加limit的话order by后每列数据不对应,不知道为什么
)as a
GROUP BYa.class_name

这里有个坑就是tb_class表的id看起来是和tb_student_class表的id对应,但实际上只有和tb_student_class的class_id对应才是正确答案。

数据库应用技术 10-1 sql-sample (15 分)相关推荐

  1. SQL语句你会写了吗?一题教你轻松对付数据库期末考试(写SQL语句的分必拿哦)

    现有下列几个表,按题目要求写出相关的SQL语句 第一部分: # 1. 查询所在城市为"北京"的所有工程号和工程名. select JNO,JNAME from j where CI ...

  2. 数据库系统概论(第十章: 数据库恢复技术)

    第十章  数据库恢复技术 10.1  事务的基本概念 10.1.1.事务 1.事务(Transaction)是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位. 2 ...

  3. 第十章数据库恢复技术

    第十章数据库恢复技术 10.1_事务 事务的四个特性:原子性.一致性.隔离性.持续性 10.2_故障的种类 事务内部的故障 系统故障 介质故障 计算机病毒 10.3_恢复的实现技术 转储:动态和静态 ...

  4. 在数据库技术中脏数据是指_数据库安全关键技术之数据库加密技术

    数据库加密作为近年来兴起的数据库安防技术,已经被越来越多的人所重视.这种基于存储层加密的防护方式,不仅可以有效解决数据库明文存储引起的泄密风险,也可以防止来自内部或者外部的入侵及越权访问行为. 从技术 ...

  5. UI一揽子计划 19 (数据库管理系统、SQL语句、iOS 的数据库实现技术)

    一.数据库管理系统 1. 以一定的方式存储在一起; 2. 能为多个用户共享 3. 具有尽可能小的冗余度 4. 与程序彼此独立的数据集合 二.SQL语句 SQlite常用语句 注:SQlite语句 不区 ...

  6. SqlPackage.exe –使用bacpac和PowerShell或Batch技术自动执行SQL Server数据库还原

    Data is the key to your organization's future, but if it's outdated, irrelevant, or hidden then it's ...

  7. 第10章 数据库恢复技术 | 数据库知识点整理

    第10章 数据库恢复技术 了解 数据库的一致性状态 数据库运行中可能产生的故障类型,它们如何影响事务的正常执行,如何破坏数据库数据 数据转储的概念及分类 数据库的镜像功能 掌握 事务的基本概念和事务的 ...

  8. 因为数据库正在使用,所以无法获得对数据库的独占访问权。 (3101)[42000] [Microsoft][SQL Server Native Client 10.0][SQL Server]RES

    问题描述: SQL server 数据库还原时,遇到问题. [RES] Database restore start [RES] (Full)  [2022-06-27 22:12:15.000] [ ...

  9. oracle怎么判断逻辑读,如何查看Oracle数据库物理读、逻辑读前10的sql?

    概述 今天主要介绍几个sql,可能很多人就收藏一下但很少会去用,所以结合案例来做一下分析,这样就知道在什么场景用了. 下面介绍一下案例. 1.监控分析 从监控发现物理IO读处于比较高的水平,截图如下: ...

  10. 2008 R2修复光盘_中了后缀.「mr.hacker@tutanota.com」勒索病毒的SQL数据库修复技术

    用达思SQL数据库修复软件怎么修复中了后缀.[mr.hacker@tutanota.com]的勒索病毒加密的数据库?(一卡通综合管理平台) 2.33GB的sql数据库被后缀.[mr.hacker@tu ...

最新文章

  1. Prioritize your work by your title
  2. mysql user.isd_如何实现MySQL中的用户管理
  3. POJ 放苹果问题(递归)
  4. mysql kill_Mysql使用kill命令解决死锁问题(杀死某条正在执行的sql语句)
  5. [html] websocket和http2有什么区别?http2能取代websocket吗?为什么?
  6. mac识别androidUSB调试
  7. 2017.6.23 染色 思考记录
  8. bug10-graphviz.backend.ExecutableNotFound: failed to execute [‘dot‘, ‘-Tpdf‘, ‘-O‘, ‘Source.gv‘]
  9. 拉勾教育管理系统(前端)
  10. HTTP长连接和Websocket
  11. 高大上的PPT表格都是怎样制作完成的
  12. 超声波测深仪工作原理
  13. 【计算机视觉】Lecture 28:跟踪简介
  14. Laravel 5.8 前瞻
  15. java+ssm基于微信小程序的游泳馆管理系统 uniapp 小程序
  16. 数据结构题(C语言)----括弧匹配检验(check)
  17. 关于spring-mybatis整合出现的问题Error creating bean with name ‘sqlSessionFactory‘ defined in class path reso
  18. 基本:HEX文件格式定义
  19. Python实现将位图描摹为彩色矢量 svg 图片的源代码,Python实现位图转彩色矢量代码
  20. krpano 全景图在微信里面被屏蔽的解决办法

热门文章

  1. 安装vuecli时出现错误解决
  2. js字符串拼接----小知识
  3. 关于Kotlin课程的一些核心技术以及思维导图
  4. 使用mac版思维导图软件MindNode
  5. php常用的消息中间件有,消息中间件有哪些?
  6. HTML5/CSS3 第一章基础
  7. 罗马数字(暴力破解)
  8. Rust 构建 Wasm 模块
  9. 王者荣耀什么时候出新的服务器苹果微信,苹果微信再次开战,限期整改,否则王者荣耀下架!...
  10. spinner列表选项框